【问题标题】:What is the range of ports I should use?我应该使用的端口范围是多少?
【发布时间】:2015-03-14 02:22:45
【问题描述】:

这是一个出于好奇的问题:

我正在使用一个数据库系统 (kdb+),并且该系统的文档在选择打开一个到端口 5000 或端口 5001 的套接字以进行通信方面似乎是一致的。

在文档的另一部分,我发现一个声明说他们的自动多处理命令从20000 through 20000+N-1 打开端口。

我很想知道是否有任何打开特定端口的启发式方法:

  • 这方面有通用做法吗?
  • 这有关系吗(选择 1024 以上的端口)?
  • 如何选择端口?

在我看来,2000 端口似乎是一个安全的选择,可以确保没有其他应用程序正在使用该端口。但是为什么文档其他部分的代码示例似乎更喜欢50005001 呢? (Wikipedia 没有帮我解释这个)

【问题讨论】:

    标签: tcp udp port protocols


    【解决方案1】:

    要让两个 kdb+ 数据库通过 IPC 相互通信,至少一个必须设置一个端口,而另一个(调用方)将由操作系统获得一个临时端口。

    因此,您需要知道您正在使用的操作系统的“临时端口范围”,并在将端口分配给数据库时避免该范围。

    【讨论】:

    • 这是有道理的。我仍然有一些问题:所以除了“临时端口范围”之外的任何其他端口都可以吗?对于 Windows,1024 以上是否重要?高于 2000 是否被认为是“更安全”或类似的东西?
    • 这里有一个关于 stackoverflow re Windows 的类似问题 - stackoverflow.com/questions/218839/… - 简而言之,不要使用临时范围以及其他进程可能使用的端口(可能是未记录)。这是任何人在使用端口进行通信时都必须经历的痛苦,这只是您必须在我们的设置中弄清楚的事情:)
    • 谢谢。那我就随便挑几个端口(5000+)吧。
    猜你喜欢
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多