boost.asio, как прочитать полный IP-пакет, используя asio - PullRequest
4 голосов
/ 10 августа 2009

Я хотел бы использовать функцию, которая считывает данные через порт сокета и возвращает управление при получении IP-пакета.

boost :: asio :: ip :: udp :: socket имеет функцию receive (или async_receive), которая возвращает количество прочитанных байтов. Документ состояния: получить некоторые данные на подключенном сокете.

Теперь, что определяет «некоторые» данные, мне неясно. Я не понимаю, как система решает, возвращать или продолжает ждать и читать входящие данные, что приводит меня к моему вопросу:

как мне прочитать полный IP-пакет, используя asio?

в Java вы можете вызвать функцию DatagramSocket.receive (...), которая делает именно то, что я пытаюсь сделать.

лучший, дд

1 Ответ

5 голосов
/ 14 сентября 2009

После одного месяца игры с asio кажется, что функция receive и async_receive вызывается при получении полной дейтаграммы.

Dd

...