端口的是一个命令行实用程序和Python库,与当地的TCP端口同治帮助。
它可以找到一个未使用的TCP本地主机端口和记忆的关系。
当你安装的是栈软件由多部分组成需要的端口号这可能是有用的。
注意
如果你正在寻找一个临时的端口,然后socket.bind((主机,0))是您最好的选择:
>>>进口插座
>>> S = socket.socket()
>>> s.bind((“”,0))
>>> s.getsockname()
(“0.0.0.0”,54485)
端口的需要,当你需要持久的免费本地端口号。
端口为是s.bind正好相反((主机,0))是某种意义上说,它不应该返回端口s.bind((主机,0))可能会返回(因为这样的端口可能是暂时的重新分配由OS)。
有几个规则端口用于正试图以查询并返回一个新的未使用的端口:
1.端口必须是未使用:端口对试图连接到端口绑定到它会检查这个。
2.端口必须是IANA未分配否则不能知名:这是通过保持未分配的端口列表(IANA从维基百科和分析)来达到的。
3.端口不应该是里面的临时端口范围。这很重要,因为从临时端口范围的端口可以通过OS(例如,通过机器的IP堆栈)分配临时的,这可能会阻止服务重新启动在某些情况下。 gimme_port不返回从当前机器配置的临时端口范围的端口。
4.其他启发式也适用:端口的尝试,从更大的端口范围返回一个端口;它也不会返回端口过于接近公知的端口。
安装
全系统:
须藤easy_install的端口进行
脚本使用
端口用于
此实用程序实际上不绑定端口或以其他方式阻止端口正在采取的其他软件。然而,尝试选择的端口是不太可能被使用的其他软件(并且是未使用的,在呼叫过程中的时间)。实用程序还可以确保港口的栏将不会返回相同的端口端口foo的同一台机器上。
$ sudo的端口为富
37987
$ sudo的端口为富
37987
您可能还需要前缀您的应用程序名称:
$ sudo的端口为instance1.apache
35456
请注意,端口脚本需要读取和写入访问/etc/port-for.conf所以sudo的可能是必要的,以便运行它。
库的使用
>>>进口port_for
>>> port_for.select_random()
37774
>>> port_for.select_random()
48324
>>> 80 port_for.available_good_ports()
假
。深入到源代码更
要求:
- 在Python中
评论没有发现