我正在用 Java 编写套接字程序,有时会出现此错误。我有一些问题:
1) 我使用 Eclipse 运行我的套接字应用程序,最后单击“终止”,但有时仍然会出现该错误。为什么?
2)有没有办法以编程方式关闭端口?像这样:
if(isPortOpen(portNumber)) {
closePort(portNumber);
}
//// Run my app here
3)有什么办法可以避免这个错误(在编程或操作系统中)?
最佳答案
套接字选项 SO_REUSEADDR 可以帮助重新使用以前使用过的端口(程序在几秒钟前终止)。
简单地创建一个未连接的套接字,使用
socket.setReuseAddress(true);
先连接socket再连接。
请参阅javadoc和 this SO post
关于java - 与 "Address in use: JVM_Bind"相关的一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6134433/