Производительность Try-Catch в Сокет UDP - C#
Формулировка задачи:
Приветствую, есть такая конструкция.
Если уделенный хост не действителен (офлайн) то вызывается исключение на строке
IPEndPoint Address = new IPEndPoint(IPAddress.Parse(Ip), (int)Port); Socket = new Socket(AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Dgram, ProtocolType.Udp); socket.Connect(Address); byte[] recvData = new byte[1400]; int recv = socket.Receive(recvData);
int recv = socket.Receive(recvData);
Необработанное исключение типа "System.Net.Sockets.SocketException" в System.dll Дополнительные сведения: Удаленный хост принудительно разорвал существующее подключение Если эту строку брать в Try-Catch то в моём случае будет хромать производительность программы, каким образом мне миновать исключения Try-Catch дабы не тормозить программу? P.S Отключён хост так отключён, нет он будет думать секунды 2 -3 прежде чем выдать исключения об не активном хосте.Решение задачи: «Производительность Try-Catch в Сокет UDP»
textual
Листинг программы
var recvData = new List<ArraySegment<byte>> { new ArraySegment<byte>(new byte[1400]) }; if (socket.Connected) { SocketError err = 0; int recv = socket.Receive(recvData, SocketFlags.None, out err); if (err == SocketError.Success) { // Process recv } else { // Do something } } else { // Do something }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д