我以这种方式使用settimeout()
功能:
import socket
s.connect((host,port))
s.settimeout(1) #a
try:
while True:
s.settimeout(0.030) #b
try:
code
except socket.timeout:
code
break
except socket.timeout:
print('over')
我的代码处于此形式。现在,A在A不起作用,但是B处的超时是因为bute in b b b in执行
的代码我的项目是运行将近1秒的进一步程序,但它正在连续循环。我知道这是因为true,但是循环中的代码应连续运行1秒
如果有人有其他方法或技巧,欢迎
如果我正确理解您:
import socket
s.connect((host,port))
s.settimeout(1)
#a
try:
while True:
s.settimeout(0.030)
#b
try:
# code...
except socket.timeout:
# code...
break
except socket.timeout:
print('over')
您正在尝试将循环内部每个请求的时间限制为0.03秒,将完整的过程限制为1秒。如果是这样,您将无法通过设置超时套接字来限制整个循环的运行时间,因为它是指单个套接字操作。
您可以考虑使用此解决方案。