无法通过Internet接收UDP数据包

时间:2015-01-04 19:07:05

标签: .net windows sockets network-programming udp

我有点对点应用程序,在局域网中运行良好,但在互联网上,UdpReceiver无法正常工作。

我在post中修改了我的接收器 并尝试从同一台本地机器通过package sender utility发送包裹

我注意到接收器仅在我将包发送到本地IP 192.168.0.100时才有效。如果我尝试公开 - 接收器没有收到任何东西。 但实际上我想通过实用程序从远程机器接收包。

这是我的UDP测试项目代码:

class Program
{
    static void Listener() 
    {
        Console.WriteLine("OPened Listener");
        var port = 13120;
        var PortNumber = port;
        Console.WriteLine("Listening to the port {0}", PortNumber);
        var sock1 = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
        IPEndPoint iep = new IPEndPoint(IPAddress.Any, PortNumber);
        sock1.Bind(iep);
        EndPoint ep = (EndPoint)iep;
        byte[] data1 = new byte[100];

        int recv = sock1.ReceiveFrom(data1, ref ep);
        sock1.Close();
        String str_Data = Encoding.ASCII.GetString(data1, 0, recv);
        String str_IP = ep.ToString().Substring(0, ep.ToString().IndexOf(":"));
        Console.WriteLine("Received Succesfully: {0} - {1}", str_Data, str_IP);
    } // breakpoint

static void Main(string[] args)
    {
        Listener();
    }

}

我已经禁用防火墙一段时间了,但它没有用。

也许我必须在我的网络中查看其他内容?找一些日志或什么?

更新:也许我的无线路由器有问题吗?

0 个答案:

没有答案