Буфер протокола через сокет в C ++

Я пытаюсь исследовать буфер протокола (PB) на платформе Linux, и мой язык программирования - C ++. Я нашел примеры в онлайн-документация буфера протокола, но ничего конкретного для отправки и получения сокетов (или я полностью пропустил это :)). Поэтому я решил добавить длину сообщения перед фактическим сообщением и отправить его через сокет.Я был бы признателен, если бы кто-нибудь мог предложить лучшее решение, чем то, что я планирую сделать, а также есть ли что-нибудь готовое в PB для создания таких пакетов.

Но я все еще сталкиваюсь с проблемой на стороне сервера, где мне нужно декодировать пакет. Скажем, если клиент отправляет пакет из 10 байт, в котором первые 4 байта - это длина пакета; Но до декодирования пакета узнать длину невозможно. Итак, даже если я прочитаю первые 4 байта, как мне определить значение с половиной прочитанного пакета, используя буфер протокола.

40
задан punith 29 February 2012 в 17:27
поделиться