【问题标题】:How can client application find dynamically selected TCP port opened by server (Java)?客户端应用程序如何找到服务器(Java)打开的动态选择的 TCP 端口?
【发布时间】:2023-04-03 00:21:01
【问题描述】:

我有一个 Windows 服务,它打开一个 TCP 端口(一个在给定时刻可用的端口)。现在我需要将客户端连接到该端口。如何让客户端知道服务器在哪个端口上运行?

【问题讨论】:

    标签: java tcp


    【解决方案1】:

    除非您有某种方法可以通过 Java 程序与服务进行通信,否则这不会那么简单。一种解决方案是尝试解析netstat 命令的输出。有关如何执行此操作的更多详细信息,您可以查看this question

    【讨论】:

      【解决方案2】:

      在一般情况下,如果不让客户端尝试所有端口直到它以某种方式识别服务器,或者通过其他方法进行通信,您将无法真正解决此问题。

      最简单的解决方案是在约定的位置(例如临时目录)中就文件名达成一致,并将端口号存储在该文件中。

      【讨论】:

      • 谢谢,我正在考虑一个文件,但希望在这里得到一些更简洁的想法哈哈
      猜你喜欢
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      • 2019-08-15
      • 1970-01-01
      • 2012-11-03
      • 2019-02-26
      • 2011-03-21
      • 1970-01-01
      相关资源
      最近更新 更多