[英]How to set timeouts between connections using gevent.server in Python?
如何在Python中使用gevent.server設置連接之間的超時?
from gevent.server import StreamServer
def handle(socket, address):
message = socket.recv(1024)
if __name__ == "__main__":
server = StreamServer((SERVER_HOST, SERVER_PORT), handle)
server.serve_forever()
我想延遲連接之間的時間,例如1秒。 並且最好僅在來自一個ip的連接之間進行延遲。
謝謝。
from gevent.server import StreamServer
import gevent
lock = {}
def handle(socket, address):
if address[0] in lock.keys():
print "sleep"
gevent.sleep(1)
handle(socket, address)
lock[address[0]] = 1
try:
message = socket.recv(1024)
print address
finally:
del lock[address[0]]
if __name__ == "__main__":
server = StreamServer(('0.0.0.0', 9999), handle)
server.serve_forever()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.