Как выглядит сообщение «ОК»? - PullRequest
0 голосов
/ 14 декабря 2010

У меня есть устройство, которое отправляет данные на сервер.

            Data
[ Client ]  == >  [ Server ]

После проверки на сервере я хочу вернуть сообщение:

            OK
[ Client ] < == [ Server ]

Есть ли стандартное сообщение "ОК" для возврата? И сообщение «ОШИБКА»? Как это выглядит? (например, ": 0011", ": 110F")

1 Ответ

1 голос
/ 14 декабря 2010

Вы должны разработать протокол уровня приложения.TCP - это байтовый поток, поэтому даже для определения «Данные» в вашей части клиент-сервер требуется некоторый протокол, чтобы получатель мог знать, какие байты составляют данные (когда прекратить чтение).

Aпара общих типов протоколов: ...

  • Куски с разделителями длины.Каждое сообщение начинается с 16 или 32-битного префикса длины.Затем следует много байтов.Длина должна быть в определенном порядке байтов (см. htons, ntohs и т. Д. ).Каждый, кто использует этот протокол, знает, что нужно прочитать префикс длины, а затем прочитать столько байтов.Определив этот «чанк» в сети, вы можете поместить заголовок в содержимое чанка.Может быть, тип сообщения (ACK, NAK, Data и т. Д.), За которым следует некоторое содержимое.
  • ASCII символ новой строки.Каждое сообщение представляет собой строку текста ASCII (или UTF8 и т. Д.).Это заканчивается на новой строке.Окончания новой строки для строк играют ту же роль, что и префикс длины для фрагментов выше.Затем вы определяете, что находится в каждой строке (например, пробел или разделенные запятыми ASCII / UTF8 / все поля).Где-то в этом случае вы определяете, как будут выглядеть данные, ACK и т. Д.

Я уверен, что вы могли бы придумать другие идеи, но это основная работа: определение протокола уровня приложения наначало байтового потока TCP.

...