我正在编写一个程序,允许wifi网络中的计算机连接到它,一段时间后它应该不再接受连接并准备向所有连接的客户端发送消息
我已经尝试了一段时间循环,但我找不到限制时间的方法
这是我当前的代码: 导入套接字
connections = []
s = socket.socket()
host = socket.gethostname()
port = 8080
s.bind((host, port))
s.listen(1)
print(".....")
while True:
conn, addr = s.accept()
connections.append([conn, addr])
connections[-1][0].send("welcome".encode())
#after a certain amount of time I want that loop to stop and wait for a
command to be typed or some other input method
您可以
根据时间条件放置while
循环,也可以检查循环中的时间并在超过时间时break
。
while
基于时间条件的循环:
import datetime as dt
start = dt.datetime.utcnow()
while dt.datetime.utcnow() - start <= dt.timedelta(seconds=600): # 600 secs = 10 mins
# your code
在带有break
的while
循环中:
start = dt.datetime.utcnow()
while True:
if dt.datetime.utcnow() - start > dt.timedelta(seconds=600):
break # end the loop after 10 mins
# your code