0

我需要将一些 udp 数据包从树莓派发送到 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#程序没有显示任何接收数据

所以,谁能告诉我如何做到这一点,最好是 bash 脚本形式,谢谢。

4

1 回答 1

0

大多数 bash 实现都没有编译/dev/udp//dev/tcp支持,所以这可能是不适合您的原因。

假设您已启用它们:问题可能是 Windows 7 端的防火墙配置问题。检查 Windows 7 防火墙是否允许到您选择的端口 (9050) 的入站连接。

于 2013-05-19T08:51:37.270 回答