游戏服务器
虣虣
这个作者很懒,什么都没留下…
展开
-
IOCP 二进制协议 分包
一、IOCP 二进制协议分包的思路 解析数据头,获取协议包体的大小,判断是否收到一个完整的数据头, 如果不是,继续投递recv请求,直到收到一个数据头 异常的数据包,关闭session (pkg_size > MAX_PKG_SIZE) 全部数据收到,进行处理.1 判断long_pkg是否存在,如果存在,就要释放 2.如果收到数据 > pkg_size,io_data->pkg指向正确的位置原创 2017-01-09 01:48:00 · 641 阅读 · 2 评论 -
IOCP JSON 协议分包
1.判断收到的数据包,能否读出一个数据包(读取”/r/n”命令包结束符)。 2.如果收到数据包大于了接受buff的最大长度,就分配2倍的内存空间。并修正指针指向的位置。然后投递recv请求。 3.如果大于最大接受数据,那么关闭session,释放socket,如果接受的数据大于了pkg_size,那么久修正指针指向的内容。 4.如果收到buffer = 0的话,释放long_pkg,投递recv请求原创 2017-01-10 00:21:19 · 1063 阅读 · 0 评论