我已经在另一台计算机上用Netbeans创建了几个月的Java SE应用程序。应用程序使用Javas套接字并通过端口4444连接到另一台应用程序到另一台计算机(或同一台)。应用程序在第一台计算机上完美连接到另一个应用程序:从netbeans运行,从命令行运行并从jar文件运行
现在我在另一台计算机上继续该项目。起初我试图在这台计算机Netbeans调试器上运行相同的源代码。应用程序启动,它连接到另一个应用程序,但它立即停止。没有错误消息或异常。屏幕不会冻结,但应用程序也不会开始相互通信。
我还尝试从命令行运行应用程序jar文件。出现同样的问题。它与另一个应用程序建立连接,但没有其他任何事情发生。
最后通过双击它从jar文件启动应用程序。现在它建立连接并开始与另一个连接。
防火墙未阻止应用程序或netbeans。我也尝试用防火墙运行netbeans,但仍然没有结果。 Java已在两台计算机上更新。由于某些原因,应用程序在某些计算机上运行得很好,而在其他计算机上,它会做这件烦人的事情。
答案 0 :(得分:0)
答案 1 :(得分:0)
从正在运行的应用程序中抓取stack trace。它会告诉你程序被“卡住”的位置。
您还可以通过向应用添加日志记录而受益。这会将语句删除到文件或系统out / err,您可以使用它来标识其内部状态。例如;当你写一个插座时:
OutputStream os = socket.getOutputStream();
while (true) {
System.out.println("write loop:enter");
os.write("machine 1".getBytes());
System.out.println("write loop:exit");
}
祝你好运。