2009-07-06 14 views
2

receive_from()メソッドを使用すると「Resource temporarily unavailable」というエラーメッセージが表示されます。これはip :: udp :: socket located hereのメンバーです。Boost ASIOでリソースを一時的に使用できません

boost :: asio :: buffer、エンドポイントオブジェクトへのポインタ、flags(ゼロに設定)、およびerror_codeオブジェクトを渡します。

私はちょうど

new udp::endpoint() 

でエンドポイントを作成し、あまりにもこのエラーメッセージで利用可能な、あまりにも多くの情報があるように思えません。私はいくつかのマシンでそれを試して、常にこのエラーが発生します。

答えて

3

通常、リソースは「EAGAIN」のテキスト記述であり、操作を再試行する必要があることを示します。 UDPの場合は、現在利用可能なデータがないことを示します。後で試してください。

一般的には、基礎となるlibc関数のマニュアルページを調べる価値があります。この場合はrecvfromです。

+0

私は、私が書いた別のプログラムでパケットを送信しています。これは、tcpdumpでパケットを見ることができるので、うまく動作します。では、データがマシンによって受信された場合、データはどのように利用できないのですか? – devin

関連する問題