SaA*_*mic 5 python unix linux port
我有一个项目,我在其中生成子进程,它再次需要一个端口号来绑定。端口号是由我的 Python 脚本分配的,我只是在 49152 到 65535 之间随机选择一个端口。
我想验证该端口是否可用并且未被本地系统(*nix)上的任何其他工具使用。
从另一个问题我有这个片段:
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"
Run Code Online (Sandbox Code Playgroud)
我可以在我的情况下使用这个吗?这不会打开端口并且不会关闭它以供进一步使用吗?
只需创建一个临时套接字,然后尝试绑定到该端口以查看它是否可用。验证端口可用后关闭套接字。
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
Run Code Online (Sandbox Code Playgroud)