1

これは本当に変だと思います。UdpClient を使用してブロードキャスト msg を同期受信しようとしましたが、ブロードキャストは完了していますが返されません。その後の放送でのみ、メッセージを受け取りました。フレームワークのどこかにバグがあると思いますか?

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

ありがとう、ケニー

4

1 に答える 1

1

コールバック エンドポイントはおそらく次のようになります。

UdpClient udpListener = (UdpClient)AsyncCall.AsyncState;
IPEndPoint e = (IPEndPoint)((UdpState)(AsyncCall.AsyncState)).e;
byte[] inBuffer= udpListener.EndReceive(AsyncCall, ref e);
于 2011-02-01T12:49:26.563 に答える