Я работаю с сокетами в C#. Я искал способ узнать, как обнаружить разрыв кабеля. Я обнаружил, что единственный способ узнать, это отправка некоторых данных, если это невозможно, то кабель отключен.
Теперь, вчера я проверял свое приложение и отсоединял кабель , и что я получил? System.IO.IOException в windows 10 при работе с NetFramework 4.0 CRL версии 4.0.30319.4200, Мой вопрос здесь: что происходит ? потому что я прочитал большую часть этих постов на этом форуме и является наиболее распространенным правильным ответом.
Теперь, ключ в том, что я проверяю ту же самую программу в другом P C со всеми теми же устройствами, сетевой картой, система x64 и единственное отличие было windows 7, и там не работает, windows 10 говорит System.IO.IOException и windows 7 ничего не говорит, как будто ничего не происходит ... Я проверяю TE LNET Команда в windows 7 и отвечает, как ожидается: ничего не происходит, но windows 10 говорит, что клиент отключен, нажмите любую клавишу, чтобы продолжить ...
Что здесь может происходить? Мой код - это простой TCPListener , те, к которым он подключен, просто ждут следующего сообщения и находятся в том ожидании, когда я отсоединяю кабель.
InnerException говорит: System.IO.IOException. Была предпринята попытка операции с сокетом в недоступной сети. Источник сообщает: Система. StackTrace сообщает, что это именно тот метод чтения (Byte [], Int32, Int32), который ожидается ..