5

几乎与服务器端推送相反,也称为Comet。我想知道是否可以使用长寿命的 HTTP 连接将信息推送到服务器。

与简单的 XHR 不同,连接将保持活动状态,并且随着用户完成操作等,数据将定期流式传输到服务器。

使用标准技术我不相​​信这是可能的,但我对可能的利用或实现这一点的巧妙方法的建议持开放态度。目的是完成向服务器的低延迟数据推送,以实现快速高效的单向流式传输。

由于提供跨域策略或获取 java 签名的麻烦,我对使用带有 flash/java 桥的套接字实现不感兴趣。欢迎在没有额外依赖的情况下工作的粗略黑客攻击。最好使用javascript完成解决方案。

4

4 回答 4

1

这样做: http ://www.speich.net/projects/programming/firebug-testing.php

看看这个:http ://en.wikipedia.org/wiki/Comet_(programming )) 和谷歌搜索'x-mixed-replace'

在 Firefox 上做你的 XHR。必须直接使用它或抓取 XHR 对象来设置有趣的字段。xhr.multipart=true 并使用 onload 处理程序,而不是 onreadystatechange。

服务器应返回 mime 类型为“multipart/x-mixed-replace”的数据。加上一个多部分分隔符。刷新以获取每个齐射的最后一个字节。我还在努力让它顺利。

Safari (~=chrome) 可以做到,但细节不同。当 readyState=3 而不是 4 时调用您的处理程序。并且每次将新文本附加到 resultText,而不是全部单独。无法在 IE 上运行任何东西。

于 2011-03-09T02:31:46.630 回答
1

我曾经看过http://orbited.org/背后那个人的演讲

这是一个 js 库,它使用标准技术来保持服务器和客户端之间的连接打开,您可以将内容向下推送。

于 2009-06-26T23:58:01.560 回答
1

这可以通过以下几种方式之一来完成......

您可以保持连接打开并进行 POST,或者我确信可以进行多部分 POST。

于 2009-06-26T23:52:04.193 回答
0

如果您正在寻找双向浏览器-服务器通信,您可能正在寻找WebSockets。有关可用的实现,请参阅 Wikipedia 文章的底部。

于 2012-12-31T01:50:25.123 回答