Python 有没有更快的方法来确定端口是否打开?

Python 有没有更快的方法来确定端口是否打开?,python,sockets,port,Python,Sockets,Port,我有下面的python代码,当远程服务器在端口上侦听时,该代码可以正常工作。但是,如果无法到达目标,则引发异常需要约20秒 有什么办法可以加快速度吗 有人能解释一下,如果超时设置为2,为什么触发异常需要这么长时间 def is_host_reachable(ipaddress,port): try: s = socket.create_connection((ipaddress, port), 2) return True except sock

我有下面的python代码,当远程服务器在端口上侦听时,该代码可以正常工作。但是,如果无法到达目标,则引发异常需要约20秒

有什么办法可以加快速度吗

有人能解释一下,如果超时设置为2,为什么触发异常需要这么长时间

 def is_host_reachable(ipaddress,port):
    try:
        s = socket.create_connection((ipaddress, port), 2)
        return True
    except socket.error as exc:
        print("Caught exception socket.error : %s" % exc)
        return False

谢谢。

可能是scrpit等待超时,您应该能够通过尝试做很多事情来缩短超时时间。也许使用较低级别的函数会更快。