wishel 发表于 2009-11-10 14:58:22

ACE_SOCK_Stream的recv_n需要注意的地方

这个函数在收到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);

pengxiqin 发表于 2009-11-10 23:00:17

回复 #1 wishel 的帖子

很好,真是谢谢版主,解决了我刚开始学习ACE的许多疑惑。
页: [1]
查看完整版本: ACE_SOCK_Stream的recv_n需要注意的地方