Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的无限套接字连接尝试_Python_Sockets - Fatal编程技术网

python中的无限套接字连接尝试

python中的无限套接字连接尝试,python,sockets,Python,Sockets,套接字是否可以一直尝试连接到指定的套接字,直到建立连接 如果可能的话,你介意给我看看这个例子是怎么做的吗?我在google和stack overflow上搜索,但没有找到任何有用的东西 提前谢谢 这个怎么样: while True: if do_connection_attempt(): break 其中,do\u connection\u trunt是连接尝试阶段的占位符,如果建立了连接,则返回True。您的意思是这样的吗 def run(self): while

套接字是否可以一直尝试连接到指定的套接字,直到建立连接

如果可能的话,你介意给我看看这个例子是怎么做的吗?我在google和stack overflow上搜索,但没有找到任何有用的东西

提前谢谢

这个怎么样:

while True:
   if do_connection_attempt():
       break

其中,
do\u connection\u trunt
是连接尝试阶段的占位符,如果建立了连接,则返回
True

您的意思是这样的吗

def run(self):
    while True:
        try:
            self.csock.connect(self.ADDR)
        except socket.error:
            self.run()

如果是这样,几次尝试后就会产生错误。

或者更简洁地说:
而不是dou-connection\u-trunt():pass
它应该包括一个超时或休眠,以保持CPU使用合理。它可以在
dou-connection\u-trunt()
中执行此操作。如果循环保持这种方式(cdhowie的方式),它将提高可读性。不知何故,我不认为在无限循环内进行无中断的递归调用是一个非常好的主意……它肯定会产生错误,因为无限递归的情况就是这样(如果没有建立连接),那么应该如何编写?我现在完全迷路了。@ber这将导致无限递归,即使连接是建立在连接的套接字上的重复连接尝试注定会导致错误,并且无法摆脱此循环。