Socket.Select возвращает ошибку «Была предпринята попытка выполнить операцию с чем-либо, кроме сокета» - PullRequest
8 голосов
/ 06 июля 2010

При вызове Socket.Select со списками, в которых проверено наличие только объектов Socket, иногда я получаю сообщение об ошибке An operation was attempted on something that is not a socket. Я не могу найти шаблон для появления.

Socket.Select(readList, writeList, null, timeOut > 0 ? timeOut : 0);

Ответы [ 4 ]

8 голосов
/ 07 июля 2010

Оказывается, розетки были закрыты.Это действительно глупая ошибка для генерации .NET, хотя только из-за закрытого сокета.

2 голосов
/ 06 июля 2010

Я выполнил поиск в MSDN и получил пару просмотров.См. здесь & здесь

Однако в WinSock я ничего не разработал, но в Unix способ реализации Select требует сброса fd_set каждый раз Select возвращается.Возможно, то же самое относится и к реализации Select в WinSock.В этом случае ваш readList, writeList может быть поврежден после возврата Select, что привело к указанной вами ошибке.Просто мысль.

0 голосов
/ 01 февраля 2019

Перезапуск Сервис MYSQL может вам помочь.

0 голосов
/ 25 августа 2015

У меня есть эта проблема, когда брандмауэр моего хост-компьютера включен.я не могу добавить отключить брандмауэр из-за правил моей компании.Поэтому я добавил входящие правила в хост-компьютер для связи, после чего он работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...