【发布时间】:2016-01-04 13:27:10
【问题描述】:
我已经运行了一个包含 ServerSocket 的应用程序,并且在客户端多次登录和服务器终止后,服务器无法重新启动,因为它抛出一个 java.net.BindException 并显示 Address already in use: JVM_Bind。
服务器创建正常(ServerSocket server = new ServerSocket(port)
eclipse 中的控制台图标是灰色的(没有任何正在运行的应用程序)。
我检查了 CMD 中的侦听端口,即使在 Eclipse 终止我的应用程序后,它也会显示我的端口。
只有重启 Eclipse 后问题才解决...
什么可以做到这一点?
提前致谢!
【问题讨论】:
-
可能是 Eclipse 错误?重新安装会有帮助吗?
-
"即使在 Eclipse 终止我的应用程序之后。"你点击红色按钮并终止应用程序还是正确关闭它。
-
我是否点击红色按钮来终止应用程序,它表示执行。但是,如果我重新启动 Eclipse,端口将从计算机端口中删除(我已通过 netstat -a 检查)并且我可以启动应用程序
-
当您使用红色按钮终止应用程序时,Eclipse 会杀死它。我敢打赌你的套接字没有关闭(因为没有调用代码)。您可以对其进行调试并在关闭代码所在的位置添加断点。
标签: java eclipse multithreading network-programming serversocket