websocket是一种适合聊天应用的技术吗?
Is websocket a right technology for Chat Application?
我使用websocket创建了一个小聊天应用,用户可以加入聊天室,可以与多个用户或组聊天。
可以同时最多80到100个用户可以发送消息(这是我的要求)
所以我的问题是,websocket对我有用吗?
是的。
事实上,聊天是一个最常见的web套接字应用的例子。
http://socket.io/get-started/chat/我想你想问的是:"服务器可以保持良好的性能与100+ websocket连接活动"?
答案也是:肯定是。
证明是基准。一个服务器可以轻松处理超过1000个websocket连接,没有问题。
:
服务器中有一百万个websockets https://mrotaru.wordpress.com/2012/11/12/websocket-server-handling-millions-of-concurrent-users-true-or-false/
5万个websocket连接在一个nginx中https://www.nginx.com/blog/nginx-websockets-performance/
600,000 ws连接在AWS http://www.jayway.com/2015/04/13/600k-concurrent-websocket-connections-on-aws-using-node-js/
与rest的比较http://blog.arungupta.me/rest-vs-websocket-comparison-benchmarks/(剧透警告:rest比websockets慢)
Websockets可以用于允许每个客户端从服务器获取更新,而无需定期轮询服务器。
如果你想要真正的响应(即显示文本当人们正在输入),那么Websockets是你所需要的。但是,如果您愿意在消息发送后等待1秒来显示消息,您也可以使用周期性get请求。
但是要考虑使用你的应用程序的浏览器。
添加到Matthaus Woolard所说的,不是所有的浏览器都支持websocket(如Opera mini),所以为了使你的应用程序工作,你需要使用websocket和长轮询进行设计。要检测websocket可用性,可以使用$。Get或$。ajax方法将请求发送到WebSocket端点。如果连接成功,onopen事件将被触发,您可以使用onmessage事件来处理传入的消息。如果连接不成功,将触发onerror或onclose事件。下面是一个例子:
var socket = new WebSocket("ws://example.com/ws");
socket.onopen = function() {
console.log("WebSocket connection opened.");
//run your websocket node.js here
};
socket.onmessage = function(event) {
console.log("Received message: " + event.data);
//run your websocket node.js here
};
socket.onerror = function(event) {
console.log("WebSocket error: " + event);
//fall back to long polling here
};
socket.onclose = function() {
console.log("WebSocket connection closed.");
//fall back to long polling he
};
- XHR不适用于聊天应用程序
- 如何使用Socket.io和Node.js开发大型聊天应用程序
- 在聊天应用程序中显示联机用户
- 在基于Strophe.js的聊天应用程序中处理状态
- 聊天应用程序的潜在问题
- 聊天应用程序字符串转义
- 我无法在Meteor应用程序中使用聊天功能
- php中的简单聊天应用程序
- 如何在小型nodejs聊天应用程序中向其他人发送文件
- asp.net中的聊天应用程序
- 创建了节点JS聊天应用程序.如何运行
- 聊天应用程序 - 当有人进入/离开房间时,用声音通知用户
- 为什么我的 PeerJS 音频聊天应用程序不起作用
- UI 聊天应用程序中的可单击链接
- 聊天应用输出错误 - 角度.JS
- Socket.io 聊天应用程序显示检测到的事件发射器内存泄漏.添加了 11 位听众.使用 emitter.setMax
- socket.io 可以用来制作像 watsapp 这样的聊天应用程序吗?
- 如何制作聊天应用程序,一对一聊天UI
- PhoneGap聊天应用程序用户可以看到其他人的消息
- Socket.io 聊天应用程序,也可以发送图像甚至文件