开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
Voovan首页、文档和下载 - 高性能异步网络框架和 WEB 服务器框架 - 开源中国社区
全部项目分类
Apache
Java 查看源码»
跨平台
愚民日记
分享
收藏
222 人收藏
收录时间:2015-05-06
Voovan 详细介绍

VOOVAN 开源框架

Voovan 是一个高性能异步网络框架和 HTTP 服务器框架,同时支持 HTTP 客户端抓取、动态编译支持、数据库访问封装以及 DateTime、String、Log、反射、对象工具、流操作、文件操作、异步双向通道等功能。旨在提供可靠、方便、可单元测试的代码。它是一个无任何依赖的独立工具包,希望能够方便广大开发者快速的实现应用。

Maven 中央库支持:

<dependency>
    <groupId>org.voovan</groupId>
    <artifactId>voovan-framework</artifactId>
    <version>0.9.8</version>
</dependency>

框架特点介绍:

  • 使用 JDK8 的 lambda 表达式,快速实现 HTTP/WebSocket 服务的开发。

  • 极简单的 HTTPClient 无任何依赖模拟浏览器抓取页面。

  • 异步通信框架解决粘包问题。

异步通信框架特性:

类似 Netty 和 MINA 的异步 Socket 通信框架。但有有所不同。

  1. 可简单解决Socket通信粘包的问题(代码中包含 HTTP协议、字符串换行、定长报文的粘包实现)。

  2. 支持 SSL/TLS 加密通信

  3. 提供线程池依据系统负载情况自动动态调整。

  4. 同时支持 NIO 和 AIO 特性。

WEB 服务器特性:

  1. 支持 WebSocket Version 13,并且保持 WebSocket 请求参数。

  2. RESTFUL、使用 Lambda 更加方便的 WEB 服务实现。

  3. 支持路径变量自动抽取 当路径定义/:name,在使用/jonh地址访问时,可以通过 name 参数获取 jonh 字符串。

-> 教程入口

HTTP 服务代码举例(Demo入口):

//构造 HttpServer 对象,使用配置文件的配置构造一个 HTTPServer,也可以使用默认构造函数构造.
HttpServer httpServer = HttpServer.newInstance();


//普通 GET 请求样例
httpServer.get("/", (req, resp) -> {
     resp.write("我是测试小消息");
});


//带路径参数的 GET 请求样例
httpServer.get("/:name/:age", (req, resp) -> {
     //req.getParameter("name") 获取请求路径中的name参数
     //req.getParameter("age") 获取请求路径中的age参数
     resp.write("我是测试小消息");
});

//WebSocket请求样例
httpServer.socket("/websocket", new WebSocketBizHandler() {

    @Override
    public ByteBuffer onRecived(HttpRequest upgradeRequest, ByteBuffer message) {
    
        String msg = new String(message.array());  //收到的消息

        return ByteBuffer.wrap(msg.getBytes());    //返回的消息
    }

    @Override
    public void onOpen(HttpRequest upgradeRequest) {
        Logger.info("WebSocket connect!");
    }

    @Override
    public void onClose() {
        Logger.info("WebSocket close!");
    }
});

//HttpServer服务启动
httpServer.Serve();
Voovan

选择将代码托管在码云
你还在等什么

可能是中国最大最好的代码托管平台


大家对 Voovan 的评论 (全部 12 条评论)
{{repayCom.userName}}
673
“...它是一个无任何依赖的独立工具包...”(作者同志,摸着良心回答,你确定没有把netty的部分源码拷贝到你的源码中,改了下包名和部分内容?)
铁血总督
Not found demo
光的笔记
文档挺全的,感谢作者分享优秀的开源项目
愚民日记
Voovan 开发教程 http://voovanturorial.mydoc.io/
@673 提到 Voovan 使用 Netty 的部分源码, 具体有没有使用,请您比对过源码并拿出证据才有说服力,否则这是一个成年人不应该有的不负责任的行为,再者任何开源项目都没有强迫任何一个开发者必须使用它,开源产品的使用者首先是认可某个项目的理念或者是思想才会使用,不接受不认可的不会使用也很正常,最后请做一个有责任有担当的人.张口闭口随便的说,是对自己也是对他人的不尊重.欢迎广大有兴趣的朋友们做代码比对
卓sir
mark
Voovan 相关博客
顶部