Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Пакеты TCP


Автор: ASSERT 19.1.2008, 12:05
Пишу клиент-сервер(Windows-Linux, срр + сокеты), протокол - TCP. Убедился на опытах, что отправленные сообщения очень часто кэшируются и затем приходят все в одном пакете(при отключении алгоритма Нагла такое поведение вроде не замечено). Т.о. я был вынужден написать распарсиватель входящих пакетов, дабы разделять пришедшие сообщения.
Вопрос такой: возникнет ли ситуация, когда во входящем пакете будет только часть отправленного сообщения ?

Автор: JackYF 19.1.2008, 12:24
Цитата(ASSERT @  19.1.2008,  11:05 Найти цитируемый пост)
когда во входящем пакете будет только часть отправленного сообщения ? 

да. Поэтому обычно первыми байтами посылается длина следующего сообщения, чтобы принимающий мог узнать, когда придёт конец сообщения.

Автор: ptr 21.1.2008, 07:15
Также возможна ситуации когда во входящих данных будет несколько сообщений.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)