tcp发送数据问题

2019-01-11 14:01发布

问题:

TCP   分四次发送四个数据

客户端发送顺序是A,B,C,D

服务端接收到的顺序是B,A,D,C

 

我貌似出现这种问题了,我原来记得TCP方式是会按照传输的顺序来发送的???你们遇到过吗?怎么解决啊

回答1:

四个不同的报文段接受是否按序,要看用的是什么滑动窗口协议,如果是停止等待协议和后退N帧重传就是按序接受,如果是选择重传协议就是非按序接受的,上面的B,A,D,C的顺序就是A可能还在网络中的时候,B已经到达,但是不丢弃B,只是等待A,若给A的设置的计时器超时了就要求重传



回答2:

这种东西你必须要抓包看才准.网络流肯定是有顺序的.

但是在你调试的时候可能因为阻塞等原因使顺序乱掉



回答3:

同一个包如果分段的话,是按顺序堆成一个完整的包,位是不同的包,不能保证按顺序发送和接收吧。



回答4:

接受到包之后,你要根据包的顺序位标识重新拼接的啊