【问题标题】:Eclipse does not close ServerSocket completelyEclipse 没有完全关闭 ServerSocket
【发布时间】: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 后问题才解决...

什么可以做到这一点?

提前致谢!

【问题讨论】:

  • 你好像没有关闭套接字docs.oracle.com/javase/7/docs/api/java/net/…
  • 可能是 Eclipse 错误?重新安装会有帮助吗?
  • "即使在 Eclipse 终止我的应用程序之后。"你点击红色按钮并终止应用程序还是正确关闭它。
  • 我是否点击红色按钮来终止应用程序,它表示执行。但是,如果我重新启动 Eclipse,端口将从计算机端口中删除(我已通过 netstat -a 检查)并且我可以启动应用程序
  • 当您使用红色按钮终止应用程序时,Eclipse 会杀死它。我敢打赌你的套接字没有关闭(因为没有调用代码)。您可以对其进行调试并在关闭代码所在的位置添加断点。

标签: java eclipse multithreading network-programming serversocket


【解决方案1】:

解决方案:经过大量深入探索,我得到了答案。

问题出在 Eclipse 的 Windows Builder 插件。

当我将其设置为“Deisgn”模式时,它运行代码,因此它也运行服务器创建代码,并将端口链接到 Eclipse.exe 进程。

现在重启eclipse的解决方案可以理解了。

【讨论】:

    猜你喜欢
    • 2017-09-19
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    相关资源
    最近更新 更多