【问题标题】:Error 10048 when trying to open TcpChannel尝试打开 TcpChannel 时出现错误 10048
【发布时间】:2009-01-19 00:35:31
【问题描述】:

我在远程处理方面非常缺乏经验。我正在尝试使用它并在打开 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,就像它已经关闭一样。

我做错了什么?

【问题讨论】:

    标签: c# .net remoting winsock


    【解决方案1】:

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

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

    netsh int ip reset resetlog.txt

    netsh winsock 重置

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

          我怀疑 ISA 服务器防火墙客户端有时可能会导致这种行为。

          【讨论】:

            猜你喜欢
            • 2017-09-28
            • 1970-01-01
            • 1970-01-01
            • 2012-02-29
            • 2023-01-13
            • 2020-11-17
            • 2018-09-27
            • 2012-08-09
            • 2012-06-22
            相关资源
            最近更新 更多