尝试打开TcpChannel时出现错误10048

时间:2009-01-19 00:35:31

标签: c# .net remoting winsock

我对Remoting缺乏经验。我正在尝试使用它并在打开TcpChannel时继续收到WinSock错误10048。

我使用MSDN中最简单的代码:

    TcpChannel serverChannel = new TcpChannel(9090);
    ChannelServices.RegisterChannel(serverChannel);
    RemotingConfiguration.RegisterWellKnownServiceType(
        typeof(RemoteObject), "RemoteObject.rem", 
        WellKnownObjectMode.Singleton);

第一次运行时,它正常工作并退出,但是对于第二次等等,我一直收到错误10048,就像套接字9090已经在使用中一样。 Netstat -a根本没有显示端口9090,就像它已经关闭一样。

我做错了什么?

4 个答案:

答案 0 :(得分:1)

在问这里之前我花了四天时间试图解决这个问题,而且已经有了答案:它只是Windows XP中的WinSock已损坏。

两个简单的Windows命令解决了这个问题:

netsh int ip reset resetlog.txt

netsh winsock reset

答案 1 :(得分:0)

错误10048对应于WSAEADDRINUSE,这意味着该地址已在使用中。据我所知,这很可能意味着端口9090已被另一个应用程序占用。

答案 2 :(得分:0)

是的,当然。问题是没有任何应用程序使用该端口(至少可以通过netstat看到)。我尝试了许多其他端口,如39000,9095等,结果完全相同。

答案 3 :(得分:0)

我怀疑ISA Server防火墙客户端有时会导致这种行为。