6 c# c++ networking tcp
如果我在TCP中发送1000个字节,它是否保证接收器将获得整个1000字节"togther"?或者他首先只能获得500个字节,之后他会收到其他字节?
编辑:问题来自应用程序的观点.如果1000个字节在到达应用程序之前重新组装成单个缓冲区..那么我不在乎它是否在路上被分段.
Eug*_*ota 13
请参阅传输控制协议:
TCP提供从一台计算机上的程序到另一台计算机上另一程序的可靠,有序的字节流传送.
"流"意味着从接收者的角度来看没有消息边界.您可以获得一条1000字节的消息或一千条1字节的消息,具体取决于下面的内容以及调用read/select的频率.
编辑:让我从应用程序的角度澄清一下.不,TCP不保证单次读取会为您提供发送方可能发送的所有1000字节(或1MB或1GB)数据包.因此,TCP上方的协议通常包含固定长度的头部,其中包含总内容长度.例如,您总是可以发送1个字节,表示内容的总长度(以字节为单位),最多可支持255个字节.
归档时间:
16 年,3 月 前
查看次数:
2684 次
最近记录: