如何改进聊天应用程序以减少服务器的负担?
How do I improve a chat application to be less taxing for the server
不久前,我用python构建了一个小应用程序,允许用户创建小型聊天室。我将服务器实现为一个rest API。客户机发出请求,服务器给出适当的响应。响应由JavaScript客户端接收,该客户端继续向服务器发出后续请求以获取更新的数据。目前客户端每3秒发送一个请求。我希望我的应用程序是实时的(更新出现一旦更改),为了发生这种情况,我将不得不进一步缩小请求间隔到0.7秒左右。这种方法的问题在于它不是完全可伸缩的。当发生更新时,服务器是否有办法向客户端发送数据?
您可以让服务器向客户端推送数据,而不是让客户端向服务器拉取数据。最常用的协议是WebSockets(它与标准HTTP协议非常接近)。WebSockets是一个不断发展的标准,并不是所有的浏览器都支持它。
另外,如果你在网络边缘使用反向代理服务器,不是所有的反向代理服务器都支持WebSockets,这也可能阻止你使用WebSockets。
见:http://en.wikipedia.org/wiki/WebSocket
相关文章:
- 使用JSP从服务器检索和显示图像
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 客户端服务器REST API captcha实现
- 正在将base64 jpeg从input-type=file上传到服务器
- Webpack开发服务器和React服务器端渲染
- 提示使用服务器端事件处理程序激活JavaScript
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- jQuery blueimp文件上传:将N-1个文件上传到IE中的服务器
- 使用jasmine模拟对服务器的调用
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 如何使用Javascript将空数组发送到PHP服务器
- 如何在HTML中显示服务器对象变量
- 如何配置分析以将数据发送到我自己的服务器
- 我无法使用angularJs($http)访问服务器
- 如何检测第三方广告服务器请求
- 如何:浏览器将JSON发送到服务器
- 如何改进聊天应用程序以减少服务器的负担?