これは本当に奇妙だと思います。 UdpClientを使用してブロードキャストmsgを同期受信しようとしましたが、ブロードキャストが完了しても戻りません。それ以降の放送でのみ、私はそのメッセージを受け取りました。フレームワークのどこかにバグがあると思いますか?UdpClient受信が2ndブロードキャストまで返されない
clientListener.BeginReceive(new AsyncCallback(RxBcastCallback), clientListener);
//this is passed as AsyncCall.AsyncState in the callback
.....
UdpClient udpListener = (UdpClient)AsyncCall.AsyncState;
IPEndPoint remoteEndPt = new IPEndPoint(IPAddress.Any, 0);
byte[] inBuffer = udpListener.Receive(ref remoteEndPt);
//does not return until subsequent broadcast
おかげで、 ケニー
? – RobinG
同じUdpClientオブジェクトからのものです。 clientListener.BeginReceive(new AsyncCallback(RxBcastCallback)、clientListener); //これはコールバックでAsyncCall.AsyncStateとして渡されます – Kenny
あなたの答えがあります。あなたのコールバックは、最初のメッセージを非同期的に受信しています。そして、あなたの同期の受信呼び出しは、すべての可能性の高い順に2番目を受け取ります。 – RobinG