Try catch и сокеты - C#

Узнай цену своей работы

Формулировка задачи:

Есть библиотека классов ,в ней есть класс для передачи данных через TCP\IP.Я добавил в один из методов try catch ,в попытке отловить неудачное соединение:
public InvalidCastException Connect() 
        {
            try
            {
                InvalidCastException ok=new InvalidCastException("OK");
                var ipep = new IPEndPoint(Dns.GetHostEntry(_host).AddressList[0], _port);
                _s = new Socket(ipep.Address.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
                _s.BeginConnect(ipep, OnConnected, _s);
                return (ok);
            }
            catch (InvalidCastException e)
            {
                return (e);
            }
            
        }
Проблема в том что даже если сервер не доступен оно мне всегда возвращяет "ОК".В чем прикол?

Решение задачи: «Try catch и сокеты»

textual
Листинг программы
public bool StartReceive() 
        {
            try
            {
                var rs = new RecvState(_s);
                _s.BeginReceive(rs.buf, 0, RecvState.BufSize, SocketFlags.None, OnRecv, rs);
                return (true);
            }
            catch
            {
                return (false);
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы