私はboost :: asioを使ってサーバアプリケーション、特にUDP APIを作成しています。今私はプールからasync_receive_fromを使用して別のバッファをリッスンする複数のスレッドを開始します。これは私が主に開発するUbuntuでうまく動作します。udp :: socket :: async_receive_fromに対する複数の並列呼び出し - 未定義の動作ですか?
しかし、Windows用にコンパイルすると、送信されたバッファごとにコールバックが何度も呼び出され、何かが見つかったという報告が1つのみであり、ゼロバイトが送信されたことが報告されます。
私はboost :: asioドキュメントを見てきましたが、書き込み/読み取りフリー関数をシリアルに呼び出さなければならないことを知っていますが、async_receive_関数が同じものであるかどうかについての情報は見つかりませんでした。
代わりにasync_receive_を1回だけ呼び出す必要がありますか?
ありがとうございます!私の側にはもう少し多くのコードが必要ですが、今はうまくいきます。 :) – Max