我正在尝试在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中提供样本异步服务器的人,因为我可能错误地编写了Tornado服务器...我对整个长轮询过程有点新意总的来说。
答案 0 :(得分:6)
龙卷风本身就是一个很好的聊天示例,建立在长轮询机制之上
https://github.com/facebook/tornado/tree/master/demos/chat
它帮助我理解了一切,它同时拥有服务器和客户端。