标签:long-polling python tornado comet
我正在尝试在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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。