gpt4 book ai didi

python - 使用 Python 测试端口是否正在使用的快速方法

转载 作者:太空狗 更新时间:2023-10-29 20:32:42 33 4
gpt4 key购买 nike

我有一个 python 服务器,它监听几个套接字。在启动时,我尝试在监听之前连接到这些套接字,因此我可以确定没有其他任何东西已经在使用该端口。这使我的服务器启动时间增加了大约 3 秒(未经测试大约为 0.54 秒),我想缩短它。因为我只测试本地主机,所以我认为大约 50 毫秒的超时就足够了。不幸的是,由于某些原因,socket.setdefaulttimeout(50) 方法似乎不起作用。

我怎样才能减少它?

最佳答案

检查端口使用情况:

def is_port_in_use(port: int) -> bool:
import socket
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
return s.connect_ex(('localhost', port)) == 0

来源:https://codereview.stackexchange.com/questions/116450/find-available-ports-on-localhost

注意:connect_ex 仍然会引发异常(如果主机名不正确,请参阅 [1] 上的文档。

[1] https://docs.python.org/3/library/socket.html

关于python - 使用 Python 测试端口是否正在使用的快速方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2470971/

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