2013-03-10 4 views
1

UDP 패킷을 브로드 캐스팅하는 iPhone에서 실행되는 응용 프로그램이 있습니다. 내 PC에서 UDP 패킷을 읽는 콘솔 응용 프로그램을 작성하고 싶습니다. 나는이 예제를 시도하고 모든 패킷을 읽을 수 없습니다 :255.255.255.255로 전송 된 UDP 패킷을 읽는 방법

http://msdn.microsoft.com/en-us/library/system.net.sockets.udpclient.aspx

나는 Wireshark를 사용하고 UDP 패킷이 특정 포트에서 255.255.255.255로 전송되고 있음을 확인했습니다. C# 응용 프로그램에서 패킷을 읽으려면 어떻게해야합니까?

감사합니다.

답변

0

이것은 간단한 청취자를위한 C# 코드입니다. 괜찮습니다.하지만 Mac에서이 코드를 작성하여 테스트 할 수 없습니다.

using System; 
using System.Net; 
using System.Net.Sockets; 
using System.Text; 

public class UDPListener 
{ 
    public static int Main() 
    { 
     var done = false; 
     var listener = new UdpClient(31337); 
     var ipe = new IPEndPoint("255.255.255.255", 31337); 
     var data = String.Empty; 

     byte[] rec_array; 
     try 
     { 
      while (!done) 
      { 
       rec_array = listener.Receive(ref ipe); 
       Console.WriteLine("Received a broadcast from {0}", ipe.ToString()); 
       data = Encoding.ASCII.GetString(rec_array, 0, rec_array.Length); 
       Console.WriteLine("Received: {0}\r\rn", data); 
      } 
     } 
     catch (Exception e) 
     { 
      Console.WriteLine(e.ToString()); 
     } 

     listener.Close(); 
     return 0; 
    } 
} 
+0

분명히 실제 포트를 31337로 바꾸십시오. –

+0

이것은 나를 위해 일했습니다. 엔드 포인트에서 올바른 IP 주소를 사용하지 않았습니다. 빠른 응답에 감사드립니다! – codemonkey

+0

환영합니다. 다행입니다. –