【问题标题】:With IPC how to tell client which port the server is listening on?使用 IPC 如何告诉客户端服务器正在侦听哪个端口?
【发布时间】:2014-04-07 16:01:48
【问题描述】:

当为 IPC 使用套接字时,您可以让系统选择一个随机空闲端口,如下面的问题所述:

On localhost, how to pick a free port number?

有一个规范,您将进程 ID 放在“.pid”文件中,这样您就可以轻松找到 apache 进程 ID 并以这种方式杀死它。

但是当操作系统选择一个随机端口供您监听时,交换端口号的最佳实践方式是什么?

【问题讨论】:

    标签: sockets ipc


    【解决方案1】:

    要告知端口号,您可以使用任何其他传输机制,可以是共享磁盘上的文件、信鸽邮件、短信、第三方服务器、动态更新的 DNS 条目等。双方必须有共同点分享,然后他们可以交流。出于明显的原因,我在这里省略了端口扫描。

    关于不是随机端口而是“浮动”端口号有一个有趣的方面:​​如果您不想保持恒定端口但可以在一定范围内选择监听端口,那么您可以使用计算实际端口号的算法基于日期或星期几或其他定期或可预测的信息。这样,客户端就知道在哪里查看服务器。

    另一种选择是,在一个端口上开始通信期间,服务器和客户端将同意服务器将在何处等待客户端进行下一次会话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 2019-01-03
      • 2013-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多