1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Voovan高性能異步網(wǎng)絡框架和 WEB 服務器框架

        聯(lián)合創(chuàng)作 · 2023-09-28 15:23

        Voovan 是一個高性能異步網(wǎng)絡框架和 HTTP 服務器框架,同時支持 HTTP 客戶端抓取、動態(tài)編譯支持、數(shù)據(jù)庫訪問封裝以及 DateTime、String、Log、反射、對象工具、流操作、文件操作、異步雙向通道等功能。旨在提供可靠、方便、可單元測試的代碼。它是一個無任何依賴的獨立工具包,希望能夠方便廣大開發(fā)者快速的實現(xiàn)應用。

        Maven 中央庫支持:

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

        框架特點介紹:

        • 使用 JDK8 的 lambda 表達式,快速實現(xiàn) HTTP/WebSocket 服務的開發(fā)。

        • 極簡單的 HTTPClient 無任何依賴模擬瀏覽器抓取頁面。

        • 異步通信框架解決粘包問題。

        異步通信框架特性:

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

        1. 可簡單解決Socket通信粘包的問題(代碼中包含 HTTP協(xié)議、字符串換行、定長報文的粘包實現(xiàn))。

        2. 支持 SSL/TLS 加密通信。

        3. 提供線程池依據(jù)系統(tǒng)負載情況自動動態(tài)調整。

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

        WEB 服務器特性:

        1. 支持 WebSocket Version 13,并且保持 WebSocket 請求參數(shù)。

        2. RESTFUL、使用 Lambda 更加方便的 WEB 服務實現(xiàn)。

        3. 支持路徑變量自動抽取 當路徑定義/:name,在使用/jonh地址訪問時,可以通過 name 參數(shù)獲取 jonh 字符串。

        -> 教程入口

        HTTP 服務代碼舉例(Demo入口):

        //構造 HttpServer 對象,使用配置文件的配置構造一個 HTTPServer,也可以使用默認構造函數(shù)構造.
        HttpServer httpServer = HttpServer.newInstance();
        
        
        //普通 GET 請求樣例
        httpServer.get("/", (req, resp) -> {
             resp.write("我是測試小消息");
        });
        
        
        //帶路徑參數(shù)的 GET 請求樣例
        httpServer.get("/:name/:age", (req, resp) -> {
             //req.getParameter("name") 獲取請求路徑中的name參數(shù)
             //req.getParameter("age") 獲取請求路徑中的age參數(shù)
             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();
        瀏覽 20
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            香蕉靠逼视频 | 啪啪网站免费看 | 久久久爽爽爽美女图片 | 91无码人妻精品1国产动漫 | 日韩三级片在线 | 丁香婷婷在线视频 | 亚洲特黄av成人无码 | 日韩欧美国产另类 | 亚洲色图欧洲 | 瘦精品无码一区二区三区四区五区六区七区八区 |