我使用UDP套接字发送然后接收消息.
所以当我收到时我将超时异常设置为4秒......
sending_socket.ReceiveTimeout = 4000;
sending_socket.ReceiveFrom(ByteFromListener, ref receiving_end_point);
Run Code Online (Sandbox Code Playgroud)
现在我得到这个异常(我期待):System.dll中出现未处理的类型'System.Net.Sockets.SocketException'异常
附加信息:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应
我想知道如何忽略这个异常?
基本上我希望UDPSOCKET监听4秒钟,如果没有答案,那么尝试再次发送消息..我的代码是以下(部分)
IPEndPoint sending_end_point = new IPEndPoint(sendto, sendPort);
EndPoint receiving_end_point = new IPEndPoint(IPAddress.Any, 0);
Socket sending_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
text_to_send = ("hello");
byte[] send_buffer = Encoding.ASCII.GetBytes(text_to_send);
sending_socket.SendTo(send_buffer, sending_end_point);
Byte[] ByteFromListener = new byte[8000];
sending_socket.ReceiveTimeout = 4000;
sending_socket.ReceiveFrom(ByteFromListener, ref receiving_end_point);
string datafromreceiver;
datafromreceiver = Encoding.ASCII.GetString(ByteFromListener).TrimEnd('\0');
datafromreceiver = (datafromreceiver.ToString());
Run Code Online (Sandbox Code Playgroud)
try
{
sending_socket.ReceiveFrom(ByteFromListener, ref receiving_end_point);
}
catch (SocketException ex) { }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
943 次 |
| 最近记录: |