2013-05-19 69 views
0

我需要從樹莓派consquently發一些UDP包到Windows 7,在Windows方面,我使用UDPclient聽任何UDP數據,即代碼:如何使用nc發送udp數據包到windows 7?

 byte[] data = new byte[1024]; 
     string input, stringData; 
     UdpClient server = new UdpClient("127.0.0.1", 9050); 

     IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0); 

     while (true) 
     { 
      data = server.Receive(ref sender); 
      stringData = Encoding.ASCII.GetString(data, 0, data.Length); 
      Console.WriteLine(stringData); 
     } 
     Console.WriteLine("Stopping client"); 
     server.Close(); 

和樹莓PI的一面,我想寫一個bash腳本做的工作,但我不知道怎麼了, 我也做了一些測試,如果鍵入:

nc -vnzu 192.168.0.104 

輸出:連接192.168.0.104 9050端口[UDP/* ]成功了!

,如果我輸入:

nc -4u -w1 192.168.0.104 9050 

沒有輸出,似乎仍然沒有錯誤。

如果我不使用NC,只需鍵入:

echo -n "hello" >/dev/udp/192.168.0.104/9050 

沒有錯誤消息顯示,但在Windows端,C#progeam上面沒有顯示任何接收數據

如此,任何人都可以告訴我如何做到這一點,最好在bash腳本形式,謝謝。

+0

根據你的問題你的客戶正在監聽'127.0.0.1:9050'。該地址不會接收來自外部的數據包。 –

回答

0

大多數bash實現沒有/dev/udp//dev/tcp支持編譯,所以這可能是不適合你的原因。

假設您啓用了它們:問題可能是Windows 7端的防火牆配置問題。檢查Windows 7防火牆是否允許入站連接到您選擇的端口(9050)。