XHR不适用于聊天应用程序
XHR not suited for chat applications?
当我们发送XMLHttpRequest时,我们总是会有数百个额外的字节。在正常使用中,这是很好的。但是,当构建需要速度的应用程序时,这对可靠性不利。
function update(){
var xhr = getXMLHttp(); // Normal catch handler for XHR
xhr.open("POST", "update.php?r=" + "&chatvslog=" + user, true);
xhr.send();
window.setTimeout("update();",300);
}
发送请求确实需要170到360毫秒的时间。问题是我需要更快地完成这项工作。
有没有一种方法可以改进我的XMLHttpRequest,或者用另一种方法?
轮询是一种糟糕的解决方法,它只需小规模完成任务,但实现起来既不高效又不美观。
现代浏览器支持WebSocket作为一种更好的双向通信方式。使用node.js的Socket.IO之类的东西,您甚至可以使用高级WebSocket抽象层,该抽象层可以回退到浏览器中的任何可用层-它可以使用WebSocket(首选)和Flash套接字、AJAX长轮询或JSONp长轮询等技术,而无需关心使用了什么。
这就是WebSockets的设计目的,但它在IE上还不受支持(尽管它在IE 10中出现),或者在其他大型浏览器的一些旧版本中仍然使用。
http://caniuse.com/#search=websockets
在此之前,请查看Comet:
http://en.wikipedia.org/wiki/Comet_(编程)
相关文章:
- XHR不适用于聊天应用程序
- 如何使用Socket.io和Node.js开发大型聊天应用程序
- 在聊天应用程序中显示联机用户
- 在基于Strophe.js的聊天应用程序中处理状态
- 聊天应用程序的潜在问题
- 聊天应用程序字符串转义
- 我无法在Meteor应用程序中使用聊天功能
- php中的简单聊天应用程序
- 如何在小型nodejs聊天应用程序中向其他人发送文件
- asp.net中的聊天应用程序
- 创建了节点JS聊天应用程序.如何运行
- 聊天应用程序 - 当有人进入/离开房间时,用声音通知用户
- 为什么我的 PeerJS 音频聊天应用程序不起作用
- UI 聊天应用程序中的可单击链接
- Socket.io 聊天应用程序显示检测到的事件发射器内存泄漏.添加了 11 位听众.使用 emitter.setMax
- socket.io 可以用来制作像 watsapp 这样的聊天应用程序吗?
- 如何制作聊天应用程序,一对一聊天UI
- PhoneGap聊天应用程序用户可以看到其他人的消息
- Socket.io 聊天应用程序,也可以发送图像甚至文件
- 如何在Ratchet's的聊天应用程序,而不是控制台上的文本框