请教,socket中recv不能一次完全接收send发送的字节数?

我有个socket程序,发送端(开发板)send(new_sockfd,buffer,2048,0),接收端(PC)recv(sockfd,buffer,2048,0)),现在的问题是每次send发送2048字节,recv只能接收到1448字节,再次调用recv才能接收到剩下的600字节数据。请问这是什么情况呢?是缓冲区设置的问题吗?还是网络的问题呢?

作者: HEHE8737   发布时间: 2011-05-05

一个IP包一次传输的字节数是有限制的,如果超过了将会分包传输。
2048肯定超过了,所以肯定是分包传过去的,接收端分多次接收也就好理解了

作者: feidouqwer   发布时间: 2011-05-05