我有一个简单的测试用例: -
public class Test {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost",5956);
} catch (UnknownHostException e) {
System.out.println("UnknownHostException");
return;
} catch (IOException e) {
System.out.println("IOException");
return;
}
System.out.println("Connected");
}
}
当我从命令提示符运行时,当没有服务器程序侦听端口5956时,我得到预期的输出“IOException”。
当我在IDE中运行时,即使没有服务器程序监听5956,我也会得到输出“已连接”。我已经尝试使用Eclipse Helios和Netbeans 7.0 RC2,我只下载了它几个小时前安装 - 都给出了描述的行为。
我们非常感激地提出任何有关为何和/或从何处开始寻找原因的建议。
我正在运行WinXP SP2,JDK 1.6.0_24
此致
答案 0 :(得分:2)
检查您的服务器端口是否已经杀死了进程。我只是按照预期的方式为我工作。
答案 1 :(得分:0)
要检查的几件事:
- 如果没有运行IDE,netstat -ano | find“5956”会报告什么?如果IDE正在运行,它会报告什么?
- 您的IDE是否使用从命令行使用的相同JDK版本?
- 你的Windows防火墙正在运行吗?您是否可以将IDE或java可执行文件添加到允许的程序中?