我尝试重用线程和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
答案 0 :(得分:1)
在UDP套接字上,该错误可能意味着您收到了一条Port Unreachable ICMP消息,以响应您发送的数据报。
如何从中恢复将是特定于应用程序。