跳到主要内容

HX::net 简介

HX::net 为 网络库, 使用 Http1.1 协议; 相关头文件存放于 HXLibs/net

一、服务端

1.1 快速示例

  • 一个简单的hello world:
#include <HXLibs/net/server/HttpServer.hpp>

int main() {
using namespace HX::net;

HttpServer server{/*port:*/28205};
server.addEndpoint<GET>("/", [] (Request& req, Response& res) {
co_await res.setStatusAndContent(Status::CODE_200, "Hello World!")
.sendRes();
});
server.syncRun();
}
cpp

6行代码就可以实现一个简单http服务器了, 用户不需要关注多少细节, 直接写业务逻辑就行了。

1.2 认识 API 宏

为了方便用户使用, 我们提供了 API 宏:

/**
* @brief 定义标准的端点, 请求使用`req`变量, 响应使用`res`变量
*/
#define ENDPOINT ( \
[[maybe_unused]] HX::net::Request& req, \
[[maybe_unused]] HX::net::Response& res \
) -> HX::coroutine::Task<>
cpp

这样可以简化端点的声明:

#include <HXLibs/net/ApiMacro.hpp>

int main() {
using namespace HX::net;

HttpServer server{28205};
server.addEndpoint<GET>("/", [] ENDPOINT {
co_await res.setStatusAndContent(Status::CODE_200, "Hello World!")
.sendRes();
});
server.syncRun();
}
cpp

对于常见的 后端三层架构, 我们也提供了 控制层 (Controller) 的声明宏, 以方便用户以统一的方式使用:

并且支持依赖注入

1.3 常用 API

1.3.1 HttpServer

1.3.2 Request

1.3.3 Response

1.3.4 WebSocket

二、客户端

三、WebSocket

请作者喝奶茶:
Alipay IconQR Code
Alipay IconQR Code
本文遵循 CC CC 4.0 BY-SA 版权协议, 转载请标明出处
Loading Comments...