科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件.Net Remoting中Remote Server的Port占用/释放问题

.Net Remoting中Remote Server的Port占用/释放问题

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

这一问题一般出现在Console application/Windows Service承载Remote Objects时,要求Remote Server指定特定port。

作者:冷枫 来源:CSDN 2008年1月28日

关键字: 释放 占用 Port Remoting Windows

  • 评论
  • 分享微博
  • 分享邮件

这一问题一般出现在Console application/Windows Service承载Remote Objects时,要求Remote Server指定特定portIIS在承载Remote Objects并不需要指定特定port,因此一般不会出现SocketException异常信息。

 

1. 启动承载Remote ObjectsConsole application,发现指定的port状态为:LISTENING

显然Remote Server开始监听该port,可以接受Client端的请求。

 

2. 在关闭承载Remote ObjectsConsole application后,发现指定的port状态为:TIME_WAIT

 

如果现在启动该Console application,就会抛出如下异常:

An unhandled exception of type 'System.Runtime.Remoting.RemotingException' occurred in mscorlib.dll

 

Additional information: Remoting configuration failed with the exception System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port)

is normally permitted

 

SocketException异常:每一个socket address (protocol/network address/port)只能有一个使用。

 

3. 个人观点

关于TIME_WAIT状态,这是windows系统设计的,防止来自旧的连接(old connection)的剩余packets干扰新的连接(new connection)。因此,默认会等待4分钟,让那些剩余的packets丢弃掉。

 

因此,不要试图去解决这一问题。等待4分钟左右的时间,确认该port确定已释放,再启动Remote Server,如Console application/Windows Service等。

 

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章