HTTP data streaming
HTTP data streaming
我有一个要在Python中实现的后端,它应该将数据流式传输到JavaScript创建表示的Web浏览器(例如,不断更新变量或绘制到<canvas>
)。
该数据将以高达 100 Hz 的速率更新(在最坏的情况下,甚至可能是 1000 Hz ...),每个数据可能为 10 - 20 字节。
因此,我想我使用COMET模式的第一个想法会产生太多的开销。
我的下一个猜测是WebSockets。它们将是一个完美的选择 - 但在 Firefox 中被禁用使它们对我来说无法使用。
那么在这种情况下,您的建议是什么?
(要求:在纯JavaScript上运行一些现代浏览器,不允许使用Flash或Java。Python 中的后端。已经使用的lib是jQuery。实现应该很容易,最好使用轻量级库)
我现在采取的解决方案是使用 COMET 模式并传输自上次请求以来在后端排队的所有数据。所以我不会在数据生成缓慢(-> COMET)期间轮询,我只会拥有前端(即浏览器)在创建它们时可以处理的连接数量。
并且由于每个请求都包含几个数据点,因此开销会减少。(您甚至可以说开销是根据数据速率动态扩展的。随着数据速率的提高,开销会下沉...
作为这个问题的更新,如今,您应该能够使用服务器发送的事件。我没有使用XHR,因为它将整个响应保存在内存中,也没有使用websockets,因为我不需要双工通信。我有几乎相同的问题,在这里回答:
如何处理流式 HTTP GET 数据?
相关文章:
- Ember Data DS.Model's set函数不起作用
- Extending Ext.data.NodeInterface
- 如何获取$data.Entity的密钥
- jQuery可以't获取data-*属性值,返回undefined
- Query JS Ext.data.Store
- 设置'这'在React with Inverse Data Flow中
- Google Data API上的OOP Javascript回调方法
- 如何获取`data-listid`属性值
- JSTree's data.rslt.obj.text()返回一个文本数组,而不是所需节点的文本
- KOValidation在错误消息中获取可观察值、$index()、$data等
- ko.com在foreach$data变量上添加了write函数
- Javascript、jquery、主干网、splunk:on(“change”、{data}、handler)导致Ty
- 为什么toStaticHTML删除data-*属性
- Javascript Canvas使用getImageData(x,y,1,1).data获取颜色
- 访问HTML中的data-*属性并将其作为道具传递
- jQuery / ajax data container + organization
- 访问通过XHR.onreadystatechange回调中的XHR.send(data)发送的数据
- jQuery.data('itemname')不工作,但jQuery.attr('data it
- jQuery.data()并存储日期信息
- HTTP data streaming