1

有没有一种简单的方法可以确保本地端口尚未打开。默认情况下,一些 TCP 套接字服务器(例如 Grizzly)似乎不执行此检查。缺少此检查时,服务器似乎启动并响应,但客户端代码只是连接到未关闭的旧服务器。这可能非常糟糕!

是否有一行简单的 Java 代码可以检查以确保该端口尚未被另一个进程使用?

4

1 回答 1

3

我看到了两种明显的方法:

  1. 尝试连接到本地主机上的该端口,如果您被接受,则该端口正在被使用
  2. 尝试在该端口中以侦听模式打开 ServerSocket。如果你得到“已经绑定”的异常,那么端口正在被使用

希望能帮助到你。

于 2009-11-19T17:55:34.050 回答