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