C# 重用线程和UdpClient在同一端口上发送和接收

C# 重用线程和UdpClient在同一端口上发送和接收,c#,C#,我试图重用线程和UdpClient在同一端口上进行发送和接收,但调用该方法时 private void RecivedCallback(IAsyncResult ar) { try { if (ar == cuurentsynResult) { UdpClient c = (UdpClient)((UdpState)(ar.AsyncState)).c; IPEndPoint e = (IPEndPo

我试图重用线程和
UdpClient
在同一端口上进行发送和接收,但调用该方法时

private void RecivedCallback(IAsyncResult ar)
{
    try
    {
        if (ar == cuurentsynResult)
        {
            UdpClient c = (UdpClient)((UdpState)(ar.AsyncState)).c;
            IPEndPoint e = (IPEndPoint)((UdpState)(ar.AsyncState)).e;
            Byte[] buffer = c.EndReceive(ar, ref e);
            if (buffer.Length > 0)
                System.Console.WriteLine(System.Text.Encoding.UTF8.GetString(buffer));
            UdpState s = new UdpState(e, c);
            cuurentsynResult = udpclient.BeginReceive(new AsyncCallback(RecivedCallback), s);                    
        }
    }
    catch (Exception ex)
    {
        string str = ex.Message;
    }
}
我面临的例外是。。 远程主机已强制关闭现有连接 那么我如何才能解决这个问题。请发送您的意见或答案


Sonu Ranjan

在UDP套接字上,该错误可能意味着您收到了端口无法访问的ICMP消息,以响应您发送的数据报


如何从中恢复将取决于应用程序。

UDP不基于连接。那么连接怎么可能被关闭呢?错误可能发生在其他地方。请发布完整的异常,包括堆栈跟踪,并标记抛出异常的行。拆下挡块。