我需要将一些udp数据包经常从raspberry pi发送到Windows 7,在Windows端,我使用UDPclient来监听任何udp数据,这就是代码:
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();
和树莓派方面,我想写一个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 :(得分:0)
大多数bash实现没有编译成/dev/udp
/ /dev/tcp
支持,因此这可能是不适合您的原因。
假设您启用了它们:问题可能是Windows 7端的防火墙配置问题。检查Windows 7防火墙是否允许到所选端口的入站连接(9050)。