为了账号安全,请及时绑定邮箱和手机立即绑定

Ajax实现的长轮询如何才能不阻塞同一时间内页面的其他Ajax请求(同域请求)呢?

Ajax实现的长轮询如何才能不阻塞同一时间内页面的其他Ajax请求(同域请求)呢?

www说 2019-04-13 08:46:44
长轮询的实现是用xmlhttprequest递归得到的,页面一旦加入了这种轮询方式,其他地方的ajax请求就没反应了,比如滚动到页底自动加载新文章。查了资料,据说HTTP1.1是不允许同一时间客户端向同一服务器建立2个http连接。如何解决?
查看完整描述

2 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

据说HTTP1.1是不允许同一时间客户端向同一服务器建立2个http连接
这个说法不对
实际上是不能并发访问同一个站点使用了session的页面,因为访问A页面时,session被锁住了,B页面要等A页面结束释放锁才能被执行。解决方法就是不用session,或者session使用后立刻释放(php使用session_write_close释放session锁)
回过一次了,再回一次
                            
查看完整回答
反对 回复 2019-04-13
?
UYOU

TA贡献1878条经验 获得超4个赞

直接终止轮询返回当前结果(轮询结果,可能为空),发起其他地方的ajax请求,得到结果,然后再开个轮询呗(可能我这想法太naive了),或者改需求哈哈。其实用轮询的方式实现serverpush(一般都是这个作用吧?),不如用socket,不过好像其标准还不是太清晰。
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 282 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号