IPC可以通过TCP / IP套接字完成。我应该在Windows下的程序之间使用哪些端口范围用于本地IPC?
我正在使用哪个Windows版本是否重要?
如果我想要跨平台兼容,Linux下有什么不同吗?
我写的语言是否重要?
IPC是否在本地是否重要?
答案 0 :(得分:3)
原则上,如果您的计划将被广泛使用,您应该按照RFC6335获取IANA为您分配的端口号。如果您没有资格获得任务,您的程序应该在运行时选择49152-65535范围内的未使用端口,并通过其他方式将此端口号传递给其他进程。
在实际操作中,您通常可以使用1024-49151范围内任何不经常使用的端口,但您应该允许其他程序使用它。通常,这是通过允许用户配置使用不同端口来完成的,例如,您可以使用注册表设置。
可以查看已分配的端口号at IANA。此列表可能有助于避免特别可能正在使用的端口。
对于记录,在Windows上,使用其他一些IPC方法(如命名管道)通常更简单。
答案 1 :(得分:1)
如果您的软件是预期的,则应避免使用端口0到1023 可以在Linux或其他类Unix平台下由非特权(非root)用户使用。
使用的编程语言或操作系统版本(在单个系列中,如Windows或Linux) 不应限制您选择用于IPC的端口号。