데이터 그램을 수집하려고하는 간단한 UDP 수신기가 있습니다. 내 데이터 그램은 두 가지 데이터 형식 중 하나 일 수 있습니다. 첫 번째 데이터 형식에서는 예상대로 프로그램에서 데이터를 받고 있습니다. 두 번째로, UDP 데이터가 Wireshark를 통해 네트워크 인터페이스로 전달되고 있음을 확인할 수 있음에도 불구하고 내 프로그램에서 데이터가 수신되었다는 표시는 전혀 없습니다. 아마도 윈도우즈가 거절 한 잘못된 UDP 패킷일지도 모른다. 그러나 Wireshark는 그것들을 UDP로 표시하고있다. 내 코드는 다음과 같습니다 :.NET UDP 데이터 수신
static void Main(string[] args)
{
Thread thdUdpServer = new Thread(new ThreadStart(serverThread));
thdUdpServer.Start();
}
static void serverThread()
{
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
socket.Bind(new IPEndPoint(new IPAddress(0), 2000));
while (true)
{
byte[] responseData = new byte[128];
socket.Receive(responseData);
string returnData = Encoding.ASCII.GetString(responseData);
Console.WriteLine(DateTime.Now + " " + returnData);
}
누락 된 패킷 (ASCII로 변환)과 같이 보일 모두 29 바이트의 데이터 그램이다.
#01RdFFFF...?...... ........F
왜 Wireshark가 자신의 존재를 나타내지 만 .NET에서는 보이지 않는 것일까 요?
설명을 위해 DateTime.Now를 반환 된 데이터로 인쇄하려고했지만 여전히 아무 것도 볼 수 없습니다. – kittyhawk
29 바이트 데이터 그램에는 무엇이 들어 있습니까? 처음 몇 바이트를 게시 할 수 있습니까? – HyperDev
원래 게시물에 데이터 그램의 예를 추가했습니다. – kittyhawk