2012-01-05 104 views
2

IPC可以通過TCP/IP套接字完成。我應該在Windows下的程序之間使用哪些端口範圍?
我使用的是哪個Windows版本?
如果我想跨平臺兼容,在Linux下有什麼不同?
這與我寫的語言有關嗎?
如果IPC是本地的還是沒有關係?IPC端口範圍

+0

[相關](http://stackoverflow.com/questions/4501518/when-writting-a-networked-application-how-do-i-choose-a-good-port-number),還沒有答案 – Jonathan 2012-01-05 19:19:53

+0

它最重要的是*你將使用什麼IPC。 – 2012-01-05 19:22:59

回答

3

原則上,如果您的程序將被廣泛使用,您應該獲得IANA按照RFC6335分配給您的端口號。如果您沒有資格進行任務,則程序應在運行時選擇49152-65535範圍內的未使用端口,並通過其他方式將此端口號與其他進程通信。

實際上,您通常可以使用1024-49151範圍內的任何非常用端口,儘管您應該允許其他程序使用它。通常這是通過允許用戶配置使用不同的端口來完成的,例如,您可以使用註冊表設置。

分配的端口號可以查看at IANA。此列表可能有助於避免特別有可能使用的端口。

爲了記錄,在Windows上使用其他IPC方法(如命名管道)通常更簡單。

1

如果您的軟件打算用於 ,您應該避免使用端口0到1023,以便在Linux或其他類似Unix平臺下的非特權(非根)用戶使用。

使用的編程語言或操作系統版本(在單個系列中,如Windows或Linux) 不應限制您選擇用於IPC的端口號。

相關問題