博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Net Remoting中Remote Server的Port占用/释放问题
阅读量:4189 次
发布时间:2019-05-26

本文共 1149 字,大约阅读时间需要 3 分钟。

这一问题一般出现在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等。

 

不同观点或意见,请发表评论或指出。谢谢。

 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1793970

你可能感兴趣的文章
测试术语和常见问题
查看>>
微软专家与您一起谈谈测试人员职业规划&&技术专家与您一起交流LoadRunner使用经验。
查看>>
百度人为操纵搜索结果遭曝光 品牌总监离职
查看>>
解析测试工程师职业瓶颈
查看>>
优秀测试工程师应该具有的基本素质
查看>>
《Web性能测试实战》签名赠书活动&加盟光芒国际传媒的好机会
查看>>
中国的IT企业和客户,哪个更贱?
查看>>
测试-答对5道题的人是天才,答对4道的是帅才,答对3道的是将才,答对2道的是奇才,答对1道的是人才
查看>>
《软件测试管理》第14章软件测试常见问题——(四)测试技术常见问题
查看>>
《Web全面性能测试实战》第2章Web全面性能测试模型
查看>>
《软件测试管理》 第15章 测试工程师前途-(工资待遇、发展方向探讨)
查看>>
《软件测试管理》第14章 软件测试常见问题——(三)测试流程常见问题
查看>>
51Testing&17Testing斑竹评《Web性能测试实战》
查看>>
《软件测试管理》第14章 软件测试常见问题——(一)基础知识部分
查看>>
性能测试兵法
查看>>
安全漏洞和安全软件开发讲座
查看>>
最近有什么厉害的计算机病毒?
查看>>
安全漏洞:百度,迅雷,暴风,腾讯QQ,下一个?
查看>>
公共场合计算机的使用,从汉城机场的休息室说起
查看>>
28, 29号参加北京的Xcon
查看>>