什么原因导致TcpListener套接字错误10013?

时间:2010-07-23 01:01:05

标签: .net sockets windows-7 tcplistener

我收到错误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 个答案:

答案 0 :(得分:7)

此错误代码是由尝试bind到另一个进程专用的端口引起的。最常见的原因是两次意外启动相同的服务。

如果有疑问,快速检查 netstat -a TCPView应该会显示哪个进程打开了端口。

答案 1 :(得分:0)

在我的情况下,运行可执行文件时Delphi应用程序上的Socket Error#10013 Access Denied解决方案是“以管理员身份运行”。对于那些通常在本地管理员之外运行的人来说,这可能是一个解决方案。

答案 2 :(得分:0)

另一种可能导致此错误(使用WCF)的可能性是,您在同一服务器上使用不同的协议(例如,http& net.tcp)定义了两个端点,但是相同的端口,如下所示:

Caused by: java.lang.ClassNotFoundException:
org.hibernate.service.jndi.JndiNameException