我正在编写一个分为两部分的应用程序,第二部分应该打开第一个用于与之通信的随机端口。我应该使用哪个端口范围来避免大多数平台(Linux,* BSD,甚至是Windows)中的冲突?
答案 0 :(得分:0)
这是特定于操作系统的。在Linux上,您可能希望避免/etc/services
中列出的端口,请参阅services(5),并且您希望避免使用特权端口(低于1024)。
作为猜测,您可以先尝试10000-30000范围。
另请阅读tunnel brokers。
答案 1 :(得分:0)
我可以通过随机选择可用端口来建议解决方案。 如果您使用的是python,可以使用:
sock.bind(('', 0)). The OS will then pick an available port for you. You can get the port that was chosen using sock.getsockname()[1], and pass it on to the slaves so that they can connect back.
答案 2 :(得分:0)
在Linux上,不要自己选择端口。如果你绑定0端口,linux内核将为你选择空闲端口。