我正在尝试将实时数据流特性(类似于Twitter的streamapi)实现到我制作的django 1.9
web应用程序中。你知道吗
在查看了Python中Python-Twitter库的流部分之后,在twitter/api.py
中,我对这个实现的服务器端是如何工作的有几个问题。你知道吗
似乎流请求只是对普通URL的普通GET/POST请求。但是,此URL将异步数据发送回客户端。这个API和twitter流服务器之间似乎没有任何类型的持久连接。也就是说,没有tcp套接字,没有WebSocket
,没有类似的。我尝试过使用StreamingHttpResponse
,但这似乎只是构建了一个数据队列,以便一次将所有数据刷新到客户端,而不是逐段刷新。你知道吗
我已经让它在典型的tcp套接字上工作,但是它需要以非常类似于Python-Twitter
库的方式工作。你知道吗
如果有人试图重新创建这样的东西(在Python中),他们会怎么做?在这一点上,我觉得这就像是黑魔法。你知道吗
有没有一种方法可以一次又一次地将HTTP数据发送回客户机,而不需要每次都发出新的请求(或者阻塞django应用程序的其余部分)?你知道吗
例如,类似这样的情况:
def stream(request):
while True:
if newServerAction:
HttpResponse(newServerAction, content_type='application_json').send(request)
else:
sleep(1)
或者有什么其他的方法是我完全没有的?你知道吗
谢谢大家的帮助!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐