1

我通过UDP套接字发送数据并在循环中接收它read()。输入数据如下所示:

String 1
String 2
String 3
....

我用 写出数据send(),每个字符串一个接一个(在一个循环中)。如何确保我可以以正确的方式重建接收端的数据(当我放入字符串时)?

接收到的数据可以在行中间的任何地方拆分,如下所示:

Packet 0: Stri
Packet 1: ng 1
Packet 2: String 2 St
Packet 3: ring 3
...

我必须引入一个自定义END OF MESSAGE字节序列来告诉吗?因为EOF在这里帮不上忙。

我需要能够判断一个包是否已损坏,以及属于一起的数据块在哪里开始和结束,因为我将它们以!开头S和结尾发送出去。Number我不能使用TCP,因为我需要广播/多播支持。

4

1 回答 1

1

如果您希望所有消息都以相同的顺序到达,并且具有“消息结束”指示,那么 TCP 可能更好:-)

(TCP 开箱即用。)

于 2011-01-27T20:49:48.130 回答