找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4862|回复: 1

ACE_SOCK_Stream的recv_n需要注意的地方

[复制链接]
发表于 2009-11-10 14:58:22 | 显示全部楼层 |阅读模式
这个函数在收到eof的时候是会返回0的,因此不要用返回值来统计实际收到的字节数,应该用它的第4个参数bytes_transferred。
比如client发了4个字节,server用recv_n(buf, 4),返回值为4,但如果用recv_n(buf, 5),返回0。
如果想知道实际收了多少,应该:

size_t bytes_transferred;
peer.recv_n(buf, 5, 0, &bytes_transferred);
发表于 2009-11-10 23:00:17 | 显示全部楼层

回复 #1 wishel 的帖子

很好,真是谢谢版主,解决了我刚开始学习ACE的许多疑惑。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-23 13:25 , Processed in 0.026862 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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