高性能异步网络框架和 WEB 服务器框架 Voovan

码农软件 · 软件分类 · 高性能网络开发库 · 2019-09-01 07:14:50

软件介绍

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();

本文地址:https://www.codercto.com/soft/d/13617.html

Head First HTML and CSS

Head First HTML and CSS

Elisabeth Robson、Eric Freeman / O'Reilly Media / 2012-9-8 / USD 39.99

Tired of reading HTML books that only make sense after you're an expert? Then it's about time you picked up Head First HTML and really learned HTML. You want to learn HTML so you can finally create th......一起来看看 《Head First HTML and CSS》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

MD5 加密
MD5 加密

MD5 加密工具