ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

javascript – Comet,responseText和内存使用情况

2019-05-22 13:22:25  阅读:260  来源: 互联网

标签:javascript ajax comet long-polling responsetext


有没有办法在不破坏XHR对象的情况下清除XHR对象的responseText?

我需要保持对Web服务器的持久连接,以将实时数据提供给浏览器.问题是,有相对大量的数据通过(每秒几百K),因此内存使用是一个大问题,因为此连接必须保持打开至少几分钟. responseText变得非常快,即使我发回的JSON已经被碾压得尽可能小.

由于服务器端应用程序的工作方式,如果我使用AJAX样式的短轮询并且在完成它时只破坏XHR对象,我会错过大量的重要数据,即使在解析它的几毫秒内也是如此.响应,创建一个新的XHR并将其发送出去.我没有选择使用重叠请求,因为Web服务器一次只接受一个连接. (不要问.)所以Comet正是我需要的模型.

我想要做的是解析从服务器返回的每个JSON块,然后清除responseText以便我可以继续使用相同的连接.但是,responseText是只读的.它不能通过我找到的任何方法直接清空.

我在这里缺少一部分照片吗?当我读完它时,有没有人知道我可以用来释放responseText的任何技巧?或者服务器响应可以到达另一个地方吗?

我不包括代码,因为这几乎是一个与代码无关的问题.生成XHR并处理返回数据的Javascript例程非常非常简单.

解决方法:

这就是多长时间轮询的工作原理.您将索引保留在读取的最后一个行号中,并从该点开始读取您的间隔的每个滴答.这是一个长期的联系,因此是一个长期的反应.

一个新的responseText意味着一个新的连接.但那时它不再是彗星了;)

标签:javascript,ajax,comet,long-polling,responsetext
来源: https://codeday.me/bug/20190522/1151692.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有