代码之家  ›  专栏  ›  技术社区  ›  Ian Elliott

可以进行客户端HTTP推送吗?

  •  5
  • Ian Elliott  · 技术社区  · 15 年前

    与服务器端推送(也称为 Comet . 我想知道是否可以使用长期存在的HTTP连接将信息推送到服务器。

    与简单的XHR不同,当用户完成操作等时,连接将保持活动,数据将每隔一段时间流到服务器。

    使用标准技术,我不认为这是可能的,但我愿意接受关于可能的开发或实现这一目标的巧妙方法的建议。其目的是完成向服务器推送的低延迟数据,以实现快速高效的单向流。

    由于使用跨域策略或获得Java签名的麻烦,我对使用FLASH/Java桥进行套接字实现不感兴趣。不需要额外依赖就可以工作的原始黑客是受欢迎的。最好使用JavaScript来完成解决方案。

    4 回复  |  直到 15 年前
        1
  •  1
  •   James    15 年前

    有一次我看到后面那个人的谈话 http://orbited.org/

    这是一个JS库,它使用标准技术保持服务器和客户机之间的连接打开,您可以向下推东西。

        2
  •  1
  •   Nippysaurus    15 年前

    这可以通过以下几种方式之一来实现…

    你可以 keep a connection open 做博士后的,或者我确信有可能做一个多部分的博士后。

        3
  •  1
  •   OsamaBinLogin    13 年前

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

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

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

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

    Safari(~=chrome)可以做到,但细节不同。当readystate=3而不是4时,调用您的处理程序。每次新文本被附加到resultText时,不仅仅是这样。在IE上什么都做不到。

        4
  •  0
  •   Ariel Monaco    12 年前

    如果您正在寻找双向浏览器服务器通信,您可能正在寻找 WebSockets . 有关可用的实现,请参见维基百科文章底部的。