- 授权协议: Apache
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: http://www.voovan.org/
- 软件文档: https://git.oschina.net/helyho/Voovan/wikis/home
软件介绍
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 通信框架。但有有所不同。
-
可简单解决Socket通信粘包的问题(代码中包含 HTTP协议、字符串换行、定长报文的粘包实现)。
-
支持 SSL/TLS 加密通信。
-
提供线程池依据系统负载情况自动动态调整。
-
同时支持 NIO 和 AIO 特性。
WEB 服务器特性:
-
支持 WebSocket Version 13,并且保持 WebSocket 请求参数。
-
RESTFUL、使用 Lambda 更加方便的 WEB 服务实现。
-
支持路径变量自动抽取 当路径定义/: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();
《生活大爆炸》之科学揭秘
乔治·毕姆 / 韩准、徐漪、江业华、叶夜 / 世界图书出版公司 / 2012-12 / 49.00元
《 之科学揭秘:GEEK探索频道》对流行美剧《生活大爆炸》进行“深度解密”,重点在解读剧中涉及的流行文化及科学元素。正如我们所知,《生活大爆炸》是一部“技术含量很高”的肥皂剧。不光是普通观众,科学家也爱《生活大爆炸》。《 之科学揭秘:GEEK探索频道》中,科学家详尽为你解释了电视剧中出现的科学道理和典故。包括谢尔顿的高深弦理论、霍华德的花生过敏是怎么回事、如果你和谢尔顿的妈妈有同样的信仰该如何看待......一起来看看 《《生活大爆炸》之科学揭秘》 这本书的介绍吧!
