源代码
https://github.com/skywind3000/kcp
如果读源代码会发现其是线程不安全的,作者给出的答案是kcp只做算法上的设计,其他问题由使用者自行规划(https://github.com/skywind3000/kcp/issues/248)
技术
事件,定时器,多线程,协程,epoll,锁,原子操作,信号量,负载均衡(对每个线程绑定的KCP数量做均衡处理)
封装的源代码
https://github.com/TonyBeen/fiber_kcp
测试
客户端发送

服务端接收:

使用libhv库在windows下进行测试
服务端(ubuntu 18):

windwos客户端:
#include "hv/hloop.h"
#include "hv/hbase.h"
#include "hv/hsocket.h"
#include "hv/hthread.h"
#define RECV_BUFSIZE 8192
static char recvbuf[RECV_BUFSIZE];
hio_t* sockio = NULL;
hloop_t* loop = NULL;
static void on_recv(hio_t* io, void* buf, int readbytes)
{
char localaddrstr[SOCKADDR_STRLEN] = {
0 };
char peeraddrstr

最低0.47元/天 解锁文章
873

被折叠的 条评论
为什么被折叠?



