代码之家  ›  专栏  ›  技术社区  ›  User1

在Java中检查本地TCP端口不是打开的

  •  0
  • User1  · 技术社区  · 15 年前

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

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

    1 回复  |  直到 15 年前
        1
  •  3
  •   Pablo Santa Cruz    15 年前

    我看到两种明显的方法:

    1. 尝试连接到本地主机上的端口,如果您被接受,该端口将被使用。
    2. 尝试在该端口的侦听模式下打开服务器套接字。如果您得到“已绑定”异常,那么端口将被使用。

    希望它有帮助。