检查本地TCP端口未在Java中打开

时间:2009-11-19 17:52:53

标签: java tcp grizzly

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

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

1 个答案:

答案 0 :(得分:3)

我看到两种明显的方法:

  1. 尝试连接到localhost上的该端口,如果您被接受,则正在使用该端口
  2. 尝试在该端口以侦听模式打开ServerSocket。如果您收到“已绑定”异常,则正在使用该端口
  3. 希望它有所帮助。