我在C#中有一个线程,每隔1秒从UDP套接字广播
在另一个帖子上,我有这个
while (true)
{
if (m_UdpReceiveSocket.Poll(0, SelectMode.SelectRead))
{
EndPoint ep = new IPEndPoint(IPAddress.Any, s_BroadcastPort);
byte[] buffer = new byte[1024];
m_UdpReceiveSocket.ReceiveFrom(buffer, 0, 1024, SocketFlags.None, ref ep);
Console.WriteLine("testing");
Console.WriteLine( ASCIIEncoding.ASCII.GetString(buffer) + " " + ((IPEndPoint) ep).Address + ":" + ((IPEndPoint) ep).Port);
}
Thread.Sleep(1);
}
如果我注释掉第二次调用Console.WriteLine,一切正常,另一个线程广播,这个线程接收信息,但如果我使用第二个Console.WriteLine(即使没有引用EndPoint),那么线程退出没有任何例外,第二次调用Console.WriteLine
谢谢
问题解决了,我只需要考虑在转换为字符串
之前我收到了多少作为一个侧面问题为什么我不能在Wireshark中看到我的数据包?
答案 0 :(得分:0)
旁注。我相信我的同事在另一周也有同样的问题。如果您的客户端与服务器是同一台计算机,则不会在Wireshark中看到数据包。