我对java应用程序和Eclipse有一个奇怪的问题。应用程序应该有6个TCP / IP连接。现在我用Eclipse运行它,只有2个伙伴正在连接。我导出它并从命令行运行它,仍然是相同的。我将-Xm1024m添加为VM参数,如批处理文件中所示,从命令行运行它,并且所有伙伴都连接。我将此参数添加到Eclipse,但仍然只有2个连接。
我在Windows 7和Java 7上都运行。新安装的计算机。在以前的计算机上一切正常。 Eclipse版本是一样的。我发现有一个区别:新的Eclipse抱怨导入com.sun.image.codec.jpeg.JPEGCodec,而之前的安装没有。但是,previos安装运行sam:Windows 7和Java 7。
源代码很糟糕,不是我发明的。我只是必须保持它的“幸运”人。这里只是它剪掉的小剪片:
while(true) {
try {
Socket ss = sServer.accept();
Thread server = new ServerBody(ss, this, mainframe);
server.setName("ServerBody:" + ss.getInetAddress().toString());
server.start();
ServerDescription sd = new ServerDescription(ss, server);
//JOptionPane.showMessageDialog(null, server.getName() + " connected", "connect", JOptionPane.INFORMATION_MESSAGE); // DEBUG
} catch (SecurityException e) {
[...]
}
catch (IllegalBlockingModeException e) {
[...]
}
}
调试时我发现它传递了2次accept()方法,然后第三次挂起(不再有传入连接)。没有异常被抛出! 有谁知道问题可能是什么和/或我如何摆脱它?它显然不是代码问题,而是某种Eclipse设置或其他一些设置。