所以无论我读到什么UDP
,人们都会这样说;
- 可以乱序接收消息
- 消息可能永远不会到达
第一个我不清楚。这是可能发生的情况TCP
:
我发送1234
,客户接收12
,然后34
所以没问题;只需添加消息长度,一切都很好。毕竟,一个整数总是 4 个字节,所以即使客户端在 2 次中收到了前置长度,它也会知道继续读取,直到它至少有 4 个字节才能知道 msg 长度。
无论如何,回到UDP
现在,当人们说“包裹可以乱收”时,这是怎么回事?
A) Send `1234`, client receives `34` and then `12`
B) Send `1234` and `5678`, client receives `5678` and then `1234`
如果是 A,我根本不知道如何让 UDP 为我工作。客户怎么会知道什么是什么?