KBEngine官方论坛

 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 配置 开服
查看: 169|回复: 2

依然消息解析相关

[复制链接]

3

主题

4

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2018-8-23 15:25:22 | 显示全部楼层 |阅读模式
int TCPPacket::recvFromEndPoint(EndPoint & ep, Address* pAddr)
{
        //KBE_ASSERT(MessageHandlers::pMainMessageHandlers != NULL && "Must set up a MainMessageHandlers!\n");
        KBE_ASSERT(maxBufferSize() > wpos());
        int str_len = size() - wpos();
        int len = ep.recv(data() + wpos(), str_len);
       
        if(len > 0)
        {
                wpos((int)(wpos() + len));

                // 注意:必须在大于0的时候否则DEBUG_MSG将会导致WSAGetLastError返回0从而陷入死循环
                // DEBUG_MSG(fmt::format("TCPPacket::recvFromEndPoint: datasize={}, wpos={}.\n", len, wpos()));
        }

        return len;
}

假设,在服务器调用recv函数之前,客户端连续发送了两条消息,并且到达了服务器接收缓存, 那么这时候recv读取的是两条消息的数据, 还是一条的,
如果是一条,那么是如何做到的,tcp数据流应该没有消息边界啊

QQ群里有引擎开发者说, 消息是拆分好的不会出现在一个包里,意思就是recv只会返回一条消息数据咯???

回复

使用道具 举报

3

主题

4

帖子

23

积分

新手上路

Rank: 1

积分
23
 楼主| 发表于 2018-8-23 15:38:51 | 显示全部楼层
https://bbs.comblockengine.com/f ... thread&tid=6548
这是 相关的另一问题   大佬们   萌新求罩啊  
回复

使用道具 举报

5

主题

3497

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2018-8-24 16:15:40 | 显示全部楼层
tcp流不保证过来多少字节。 其他自己处理
QQ:3603661
3603661@qq.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|KBEngine Forum

GMT+8, 2018-12-10 19:22 , Processed in 0.027066 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表