UDP服务器接收来自外部客户端的消息,就像来自服务器IP一样

时间:2018-08-28 20:48:39

标签: c# server network-programming udp udpclient

我有一个UDP服务器和客户端,当服务器和客户端都在同一台路由器后面时,它们可以在localhost上工作。

从外部IP连接时-IPEndPoint保留服务器IP。

服务器接收器:

private void Recv(IAsyncResult res)
{
    IPEndPoint clientEndPoint = new IPEndPoint(IPAddress.Any, 0);

    try
    {
        byte[] data = udpClient.EndReceive(res, ref clientEndPoint);
        udpClient.BeginReceive(new AsyncCallback(Recv), null);

        //Process codes
        RaiseDataReceived(new ReceivedDataArgs(clientEndPoint.Address, clientEndPoint.Port, data));
    }
    catch (Exception e)
    {
        Console.WriteLine(e.ToString());
        throw;
    }
}

当服务器接收到来自外部客户端的消息时,clientEndPoint.Address保存服务器的地址,而不是客户端地址。有人经历过吗?我尝试了多种方式来从客户端接收消息而没有运气。

0 个答案:

没有答案