我对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,就像它已经关闭一样。
我做错了什么?
答案 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防火墙客户端有时会导致这种行为。