子牛 发表于 2012-5-18 16:02:45

请教ACE_SOCK_Stream::rev

ACE_SOCK_Stream socket
int rev=socket.rev(buf,1000)
if(rev<0)
{
        printf("发送错误");
}请教比如发送方一次发了900个字节,那么这边接受可不可能是500字节呢


还有就是加入这边收到了400个字节的时候网络突然断了,又会是什么情况呢

winston 发表于 2012-5-18 16:14:19

就这么短的字节来说,不会分帧传输。大的数据包,发送、接收并不是完全速度对等,但TCP保证可靠性。这些问题,是TCP/IP的问题,与ACE没关系。很多事情都要搞明白TCP/IP的理论才能弄清楚。

ztenv 发表于 2012-5-18 17:50:05

recv小于0的时候有的时候是需要继续收的,不一定就是错误,有可能是被os的给中断了,但需要继续收。
页: [1]
查看完整版本: 请教ACE_SOCK_Stream::rev