2015-01-15 24 views
1

這是出於好奇一個問題:我應該使用什麼端口範圍?

我使用一個數據庫系統(kdb+),而這個系統的文件似乎是一致的選擇打開套接字至端口5000或端口5001通信目的。

在文檔的另一部分,我發現一個聲明說他們的自動多處理命令打開端口從20000 through 20000+N-1

我很好奇,想知道是否有打開特定端口的任何啓發:

  • 有一個常見的做法呢?
  • 它有什麼關係(用於選擇端口1024以上的端口)?
  • 你如何選擇你的端口?

我看到它的方式,端口2000似乎是一個安全的賭注,以確保沒有其他應用程序正在使用該端口。但爲什麼文檔其他部分的代碼示例似乎更喜歡50005001那麼多? (Wikipedia無助於向我解釋這個)

回答

1

對於兩個kdb +數據庫通過IPC彼此對話,至少一個必須有一個端口集,而另一個(調用者)將得到一個臨時端口OS。

因此,您需要知道您正在使用的操作系統的「臨時端口範圍」,並在將端口分配給數據庫時避免該範圍。

+0

這很有道理。我仍然有一些問題:所以除了「短暫的港口範圍」之外的其他港口都很好?對於Windows而言,它是否在1024以上都有問題? 2000年以上被認爲是「更安全」還是類似的? – 2015-01-16 08:29:15

+1

在這裏有一個類似的問題,在Windows上的stackoverflow - http://stackoverflow.com/questions/218839/assigning-tcp-ip-ports-for-in-house-application-use - 簡單地說,不要使用短暫的範圍,也可能是其他進程可能使用的端口(可能沒有記錄)。這與使用端口進行通信時任何人都必須經歷的痛苦一樣,只是你必須在我們的設置中弄清楚:) – 2015-01-16 11:27:54

+0

謝謝。然後我會選擇一些隨機端口(5000+)。 – 2015-01-16 11:44:08

相關問題