Я работаю над клиентским серверным приложением TCP, используя c ++. В этом проекте теперь разрешены сторонние библиотеки.
Здесь обмен между клиентским сервером происходит с использованием четко определенного формата протокола. Как только клиент получит пакет, он отправит его для анализа. У меня есть менеджер протокола, который позаботится о выполнении анализа.
У меня следующие сомнения
Когда данные поступают на клиента из сети,
ОС буферизует его до тех пор, пока приложение не вызовет функцию recv ().
Таким образом, два сообщения msg1 и msg2 поступают в буфер, и вызов recv возвращает msg1 + msg2.
Теперь это может привести к сбою операции синтаксического анализа.
Мои запросы
1. является ли вышеупомянутое предположение правильным или нет?
2. Если вышеупомянутое предположение верно, то как можно решить эту проблему.