作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果客户端应用程序要求网络服务器“检查更新”,哪种方法是创建快速响应的最佳方法。
例如,Skype 大约需要 1 秒来回答。如何实现同样的目标?
最佳答案
我假设您正在运行一台或多台网络服务器和一台或多台后端服务器(具有业务逻辑)。
我见过的一种可能的方法:在网络服务器中保留一个更改计数器,当后端状态发生变化时,让业务逻辑通知所有网络服务器新的更改计数器值。
每个网络浏览器定期轮询网络服务器以获取计数器值并将该值与之前的值进行比较。如果 old_value != new_value,网络浏览器会去向网络服务器请求新内容。
这使得常规轮询变得超快(1 毫秒)且成本低。并且只有当某些东西确实发生了变化时,浏览器才会要求生成更多资源消耗型内容。
另一种选择是使用一些异步 HTTP 魔法 (cometd),但上面概述的方法更简单、更容易理解并且更容易排除故障。
关于web-services - 如何为 "check for updates"制作超高速网络服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3922298/
我是一名优秀的程序员,十分优秀!