2009-08-10 3 views
4

Ich möchte eine Funktion verwenden, die auf einem Socket-Port liest, und gibt die Kontrolle zurück, wenn ein IP-Paket empfangen wird.boost.asio, wie man ein komplettes IP-Paket mit asio liest

Der boost :: asio :: ip :: udp :: socket hat eine Funktion receive (oder async_receive), die angibt, wie viele Bytes gelesen wurden. Das Dokument lautet: Empfange einige Daten auf einem verbundenen Socket.

jetzt, was bestimmt, die ‚einige‘ Daten me.I unklar sind, verstehen nicht, wie man System, ob weiter zurück entscheidet eingehende Daten warten und zu lesen, was mich auf meine Frage bringt:

wie lese ich ein komplettes IP-Paket mit Asio?

In Java können Sie die Funktion DatagramSocket.receive (...) aufrufen, die genau das tut, was ich versuche zu tun.

am besten, Dd

Antwort

5

Nach einem Monat mit Asio zu spielen, so scheint es, dass die Funktion empfängt und async_receive wird aufgerufen, wenn ein komplettes Datagramm angekommen ist.

Dd