複数のマシンで動作する C# アプリがありますが、何らかの理由で別のマシンでは動作しません。すべて Windows XP です。
ポートを開いてリッスンするだけです。
void Open()
{
var myIpAddress = UdpComm.GetPcIpAddress(target);
listenEndPoint = new IPEndPoint(myIpAddress, RemotePort);
System.Windows.Forms.MessageBox.Show("Creating listener: " + target.ToString() + " - " + listenEndPoint.ToString());
_client = new UdpClient(listenEndPoint);
_client.EnableBroadcast = true;
_client.BeginReceive(ReceiveCallback, null);
}
public void ReceiveCallback(IAsyncResult ar)
{
System.Windows.Forms.MessageBox.Show("Data received");
}
プログラムを実行すると、Open メソッドが正常に実行され、アドレスとポートが正しいことがわかります。
Wireshark でこれを見ると、データがリモート アドレスから正しく送信されていることもわかりますが、コールバックからのメッセージ ボックスは表示されません。
エラーがスローされることはありません。データが Wireshark に表示され、アプリには表示されない原因について何か考えはありますか?