Python代码示例:生成可用的未占用端口号(unused_port())
发布时间:2023-12-15 19:05:44
下面是一个Python代码示例,可以生成可用的未占用端口号。
import socket
def unused_port():
"""生成未占用的端口号"""
# 创建一个临时的socket对象
temp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置socket选项,使得端口释放后可以立即被重用
temp_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
# 绑定一个临时的地址和端口号
temp_socket.bind(('localhost', 0))
# 获取绑定之后的端口号
unused_port = temp_socket.getsockname()[1]
# 关闭socket
temp_socket.close()
return unused_port
# 使用示例
port = unused_port()
print(f"生成的可用端口号是:{port}")
这个代码中,首先创建了一个临时的socket对象,并设置了socket选项,使得端口释放后可以立即被重用。然后,绑定一个临时的地址和端口号,调用getsockname方法获取绑定之后的端口号,并将其保存到变量unused_port中。最后,关闭socket,并返回端口号。
在使用示例中,调用unused_port函数获取一个可用端口号,并打印输出。你可以根据需要调用unused_port函数获取多个可用端口号。
