昨天在本地测试一个程序时遇到的。
情况是这样子的:
远端是一个控制台程序,开放的是tcp 8898端口。
客户端采用Remoting访问远端的tcp 8898端口,并进行远端相关方法的调用。
远端有齐全的日志处理,一旦出现错误会直接抛出,不会影响到下一轮的执行。
做测试时发现客户端调用远端失败,返回:由于目标机器积极拒绝,无法连接。
这个错误就是远端程序停止了或端口不对。
但远端的控制台程序并未停止。
cmd telnet 127.0.0.1 8898显示无法连接,看来是8898这个端口无法访问了。
重启控制台程序正常。
很奇怪,程序没有异常,但端口却意外地关闭而无法访问。
在csdn上也找到一篇类似的帖子
http://topic.csdn.net/t/20041112/16/3547923.html
不知道你用的是不是tcp信道,而且是windows2003或xp sp1后的作为服务器,就会出现这样的问题;
建议采用http信道,就应该不会有这样的问题;
这是windows2003和xp sp1的新安全机制导致的。
除此之外再也没有相关的内容,这种情况不常有,一个月偶尔会有一次。
不知道有没有朋友也遇到过类似的问题。