- 创建kcpuv对象
kcpuv_t kcpuv = kcpuv_create();- 如果用作服务器,那么监听UDP端口
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阶段,一些显而易见的问题还没有处理:
- 回话ID(conv)是客户端分配,服务器不做任何处理,全盘接受。
- 内存分配和释放很粗放。
- ...