编程语言
首页 > 编程语言> > python – 龙卷风 – 如何实现长轮询客户端

python – 龙卷风 – 如何实现长轮询客户端

作者:互联网

我正在尝试在Tornado中实现长拉客户端,它与异步Tornado服务器交互.

发生的事情是两件事之一:

>客户端超时,或
>完成后,客户端立即收到所有消息
整个后台进程,类似于阻塞进程

这是我使用的客户端:

from tornado import ioloop
from tornado import httpclient

print "\nNon-Blocking AsyncHTTPClient"
import tornado.ioloop

def async_call(response):
        if response.error:
                response.rethrow()
        print "AsyncHTTPClient Response"
        ioloop.IOLoop.instance().stop()

http_client = httpclient.AsyncHTTPClient()
http_client.fetch("http://localhost:9999/text/", async_call)
ioloop.IOLoop.instance().start()

这是编写长轮询/彗星客户端的正确方法吗?

我还要感谢那些愿意回答在Tornado中提供样本异步服务器的人,因为我可能错误地编写了龙卷风服务器…我对整个长轮询过程总体上有点新意.

解决方法:

龙卷风本身就是一个很好的聊天示例,建立在长轮询机制之上

https://github.com/facebook/tornado/tree/master/demos/chat

它帮助我理解了一切,它同时拥有服务器和客户端.

标签:long-polling,python,tornado,comet
来源: https://codeday.me/bug/20190826/1724731.html