"System.Net.Sockets.SocketException (0x80004005): была сделана попытка доступа к сокету способом, запрещенным его правами доступа"
ОК. Я знаю, что эта проблема имеетслучалось много раз до этого на SO, но я не могу найти решение.Вот мой вопрос: каковы возможные причины этого.
Очки:
- Бывает независимо от брандмауэра
- Порты открыты
- Пункт назначенияоткрытые и соединения работали в прошлом
- Поскольку работающие соединения, никакие изменения в брандмауэрах или антивирусных сканерах не могут их исключить.
- Запуск от имени администратора
- Исходный порт23876
- Порт назначения является переменным, зависит от обнаруженного клиента из другого источника
- Windows 8.1
Еще один момент - эта ошибка также произошла после переноса на .NETCore.
Единственное изменение состоит в том, что я пытаюсь разделить порты, но не вижу связи между этим и ошибкой. Код для подключения:
client = new TcpClient();
client.Client.SetSocketOption(
SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
client.Client.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.IPv6Only, 0);
client.Client.Bind(ipLocalEndPoint);
client.Client.Connect(ep);
, где локальныйконечная точка используется повторно.
Каковы возможные причины этой ошибки?Это происходит при каждом вызове BIND.