Что вызывает ошибку сокета TcpListener 10013? - PullRequest
0 голосов
/ 23 июля 2010

Я получаю ошибку 10013. msdn сообщает, что в доступе отказано в разрешении.

An attempt was made to access a socket in a way forbidden by its access permissions

Мое приложение работает нормально. Затем я сделал изменение кода и перезапустил его. Я получил эту ошибку. Я подозревал, что мне нужно повторно использовать порты, поэтому я написал это в и все еще не повезло

server.Server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1);

Как мне решить эту ошибку?

-edit-

Я заметил, закрыл ли я FireFox (с его многочисленными вкладками) и запустил программу, она работает ... Может быть, это как-то связано со связью? (Я имел Ajax общаться с ним). Интересно, что это сделал.

Ответы [ 3 ]

7 голосов
/ 23 июля 2010

Этот код ошибки вызван попыткой bind к порту, который используется исключительно другим процессом. Самая частая причина - случайный запуск одного и того же сервиса дважды.

В случае сомнений, быстрая проверка netstat -a TCPView должна выявить, какой процесс имеет открытый порт.

0 голосов
/ 15 сентября 2016

Другая возможность, которая может привести к этой ошибке (используется WCF), - это сценарий, когда у вас есть две конечные точки, определенные на одном сервере с использованием разных протоколов (например, http & net.tcp), но с одним и тем же портом, что-то вроде этого:

<service name="yourService">
<endpoint address="http://localhost:2112/ys" binding="basicHttpBinding" name="basicHttpEndPoint"
  contract="zza.Services.IzzaService" />
<endpoint address="net.tcp://localhost:**2112**/" binding="netTcpBinding"
  name="netTcpEndPoint" contract="IyourService" />
<host>
  <baseAddresses>
    <add baseAddress="http://localhost:**2112**" />
  </baseAddresses>
</host>

0 голосов
/ 27 декабря 2013

В моем случае решением ошибки Socket Error # 10013 «Отказ в доступе» в приложении Delphi при запуске исполняемого файла было «Запуск от имени администратора». Для тех из вас, кто обычно работает вне локального администратора, это может быть решением.

...