2013-05-19 68 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)。