UDP 套接字侦听器未接收数据



我的本地IP是:192.168.0.70,外部 ip 是 : 192.168.0.50 : 60000

我想从外部 ip 接收数据发送到本地 ip。我使用 Socket 类,因为我可以使用远程 IPEndPoint 发送数据。但是当 Udp 连接关闭时,本地 IP 的端口会动态变化。如何接收数据?

private static void UdpConnect()
    {
        try
        {
            IPEndPoint remoteEP = new IPEndPoint(IPAddress.Parse("192.168.0.50"), 60000);
            Socket client = new Socket(AddressFamily.InterNetwork,
                SocketType.Dgram, ProtocolType.Udp);
            client.Connect(remoteEP);
            byte[] sendbuffer = { 1, 2, 3 };
            client.Send(sendbuffer);
            byte[] receivebuffer = new byte[512];
            client.Receive(receivebuffer);
        }
        catch (Exception e)
        {
            Console.WriteLine(e.ToString());
        }
    }

如果需要侦听特定的本地端口,请使用 Socket.Bind 和 Socket.ReceiveFrom。您不需要 Socket.Connect 调用,因为 UDP 是一种无连接协议。

最新更新