与“正在使用的地址:JVM_Bind”有关的一些问题

|| 我正在用Java编写套接字程序,有时会出现此错误。我有一些问题: 1)我使用Eclipse运行我的套接字应用程序,最后单击\“终止\”,但有时仍会收到该错误。为什么? 2)有什么办法以编程方式关闭端口?像这样:
if(isPortOpen(portNumber)) {
   closePort(portNumber);
}
//// Run my app here
3)有什么方法可以避免此错误(在编程或OS中)?     
已邀请:
理想情况下,在终止应用程序时,应关闭打开的端口。 如果您具有该端口的套接字对象,则socket.close()应该关闭该端口。 但是在Java中,您无法关闭其他应用程序打开的端口 您可以使用TCPView关闭未发布的端口     
套接字选项SO_REUSEADDR可以帮助重用以前使用的端口(程序在几秒钟前终止)。 只需创建一个未连接的套接字,使用
socket.setReuseAddress(true);
在连接插座之前,然后将其连接。 请参阅javadoc和此SO帖子     

要回复问题请先登录注册