当前位置:  开发笔记 > 编程语言 > 正文

如何保持HTTP连接活着?

如何解决《如何保持HTTP连接活着?》经验,为你挑选了2个好方法。

有没有办法使用JavaScript保持HTTP连接?



1> spender..:

简而言之,我认为javascript中长期存在的http连接的概念实际上围绕着一种称为COMET的通信方式.这可以通过几种不同的方式实现,但实质上涉及客户端(使用XmlHttp权限)立即从服务器请求数据,服务器保留响应直到某个事件触发它.收到此响应后,客户端立即发出另一个请求(它将再次挂在服务器端,直到需要发送内容).这模拟了服务器推送,但实际上只不过是以巧妙的方式使用的延迟响应.在最坏的情况下,可能存在相当高的延迟(即2个消息需要发送,因此周期必须重复两次,所有成本都涉及)但通常,如果消息传递速率较低,则会给出真实的合理印象.时间推动.

为这种通信实现服务器端是非常简单的,并且需要大量的异步通信,并发性问题等.编写一个可以在自己的线程上支持几百个用户的实现非常容易,但要扩展到数千个需要更加考虑的方法.



2> Roger F. Gay..:

我注意到最后一个答案是在2009年给出的.哦,我多么记得那些日子.但从那以后发生了很多好事; 所以我会添加这个只是为了让人们知道要寻找什么.HTTP 1.0提供了"保持活动"请求属性,这意味着应该为进一步的请求维护连接.在HTTP 1.1中,这成为默认值.如果你不想重用连接(如果你想对它好一点),你实际上必须选择退出它.

"WebSockets"的新标准实际上为您提供了全双工持久连接.所有最新版本的流行浏览器都支持WebSockets,如果您安装Google Chrome Framework(这意味着Google软件实际上正在开展工作),您甚至可以在MSIE中使用它们.微软称IE在版本10中支持它,但我自己没有尝试过.您需要的是连接到的东西,例如http://highlevellogic.blogspot.se/2011/09/websocket-server-demonstration_26.html

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有