gpt4 book ai didi

python - 验证本地端口是否在 python 中可用

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:33:59 25 4
gpt4 key购买 nike

我有一个项目,我在其中生成子进程,这些子进程同样需要一个端口号来绑定(bind)。端口号由我的 Python 脚本分配,我只是在 49152 和 65535 之间随机选择一个端口。

我想验证该端口是否可用并且未被本地系统 (*nix) 上的任何其他工具使用。

来自 another question我有这个片段:

import socket;
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex(('127.0.0.1',80))
if result == 0:
print "Port is open"
else:
print "Port is not open"

我可以在我的案例中使用它吗?这不会打开一个端口而不关闭它以供进一步使用吗?

最佳答案

只需创建一个临时套接字,然后尝试绑定(bind)到该端口,看看它是否可用。验证端口可用后关闭套接字。

def tryPort(port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = False
try:
sock.bind(("0.0.0.0", port))
result = True
except:
print("Port is in use")
sock.close()
return result

关于python - 验证本地端口是否在 python 中可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43270868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com