python中的无限套接字连接尝试
套接字是否可以一直尝试连接到指定的套接字,直到建立连接 如果可能的话,你介意给我看看这个例子是怎么做的吗?我在google和stack overflow上搜索,但没有找到任何有用的东西 提前谢谢 这个怎么样: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
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这将导致无限递归,即使连接是建立在连接的套接字上的重复连接尝试注定会导致错误,并且无法摆脱此循环。