Читать все сообщения из UDP Socket - PullRequest
1 голос
/ 27 января 2011

Я отправляю данные через сокет 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, потому что мне нужна поддержка широковещательной / многоадресной передачи.

1 Ответ

1 голос
/ 27 января 2011

Если вы хотите, чтобы все сообщения приходили в том же порядке, в котором они были отправлены, и чтобы была индикация «конец сообщения», возможно, TCP лучше: -)

(TCP делает все это из коробки).

...