elisaday / kcpuv

使用KCP和libuv的简单网络模块。
GNU General Public License v2.0
63 stars 25 forks source link

KCPUV

使用KCPlibuv的简单网络模块。

用法

kcpuv_t kcpuv = kcpuv_create();
kcpuv_listen(kcpuv, "0.0.0.0", 9527);
kcpuv_conv_t conv = 0x12345678; // 定义回话ID
kcpuv_connect(kcpuv, conv, "127.0.0.1", 9527);
void process_network() {
    // 让kcpuv处理一下内部事务
    kcpuv_run(kcpuv);

    kcpuv_msg_t msg;
    while (true) {
        // 接收消息
        int r = kcpuv_recv(kcpuv, &msg);
        if (r < 0) break;

        // 处理消息
        // ...

        // 销毁消息
        kcpuv_msg_free(&msg);
    }
}
const char* data = "hello";
uint32_t size = 5;
kcpuv_send(kcpuv, conv, data, size);

版本状态

目前版本处于DEMO阶段,一些显而易见的问题还没有处理: