gpt4 book ai didi

python - 如何在python中获取特定范围内的空闲端口

转载 作者:太空宇宙 更新时间:2023-11-03 20:37:22 24 4
gpt4 key购买 nike

我可以使用python来获取空闲端口,但我想获取特定范围的空闲端口。

我尝试使用 while 循环来获取它,但我无法获取我想要的值,可能需要很长时间

import socket

SO_BINDTODEVICE=25

def get_free_port(iface=None):
s = socket.socket()

if iface:
s.setsockopt(socket.SOL_SOCKET, SO_BINDTODEVICE, bytes(iface,'utf8'))

s.bind(('',0))
port = 0
while(port<60100 or port>60300):
ip = s.getsockname()[0]
port = s.getsockname()[1]
s.close()

return ip,port


print(get_free_port())

希望能在短时间内得到我想要的端口

最佳答案

def next_free_port( port=1024, max_port=65535 ):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
while port <= max_port:
try:
sock.bind(('', port))
sock.close()
return port
except OSError:
port += 1
raise IOError('no free ports')

关于python - 如何在python中获取特定范围内的空闲端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57086044/

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