IPC可以通过TCP/IP套接字完成。windows下程序之间的本地IPC应该使用哪些端口范围?
我使用的是哪个Windows版本很重要吗?
如果我想跨平台兼容,在Linux下有什么不同吗?
我用什么语言写东西很重要吗?
IPC是否在本地有关系吗?
发布于 2012-01-06 04:22:02
原则上,如果你的程序要被广泛使用,你应该得到一个由IANA根据RFC6335分配给你的端口号。如果您不符合分配的条件,那么您的程序应该在运行时选择49152-65535范围内未使用的端口,并通过其他方式将这个端口号传递给其他进程。
在实践中,您通常可以使用1024-49151范围内任何不常用的端口,尽管您应该考虑到另一个程序将使用它的可能性。通常,这是通过允许用户配置不同端口的使用来实现的,例如,您可以使用注册表设置。
分配的端口号可以通过at IANA查看。此列表可能有助于避免特别可能正在使用的端口。
根据记录,在Windows上,使用其他一些IPC方法通常更简单,比如命名管道。
发布于 2012-01-06 03:30:54
如果您的软件旨在供Linux或其他类Unix平台上的非特权(非root)用户使用,则应避免使用端口0到1023。
所使用的编程语言或操作系统版本(在单一系列中,如Windows或Linux)不应限制您选择用于IPC的端口号。
https://stackoverflow.com/questions/8748396
复制相似问题