不久前,我将 ASP.NET MVC 和 jQuery 放在一起进行 AJAX 聊天。 javascript 大约每 7 秒访问一次服务器以检查新消息。显然,随着聊天的增长和包括越来越多的用户,这对性能来说是可怕的。随着如此多的请求,网站流量呈指数级增长。用户可以整天离开计算机,甚至不在那里,但他们仍会每 7 秒进行一次点击。
有更好的方法吗?我听说过一种叫做“推”的东西,但我还没有真正理解它。我想我只需要指出正确的方向。
1.) 开发 AJAX 聊天并使其具有可扩展性的最佳方式是什么?
2.) 什么是推送,我如何使用 jQuery 实现推送?
最佳答案
1.) What is the best way to develop an AJAX chat and have it be scalable?
我同意@freakish 关于 IIS 的复杂性和潜在缺乏扩展性的观点。
不过,微软在作品中有一个相对较新的选项,叫做SignalR这可能成为 ASP.NET 的核心部分。此相关 SO 问题中的更多详细信息:
2.) What is push and how would I just that with jQuery?
在其他地方部分回答,但它是服务器和客户端之间的长期持久连接,这意味着服务器可以在有新数据可用时立即将数据“推送”到客户端。
jQuery 确实支持发出 AJAX 请求,但核心库不支持公开执行 HTTP 长轮询或 HTTP 流的方法。更多信息在此 SO answer to 'Long Polling/HTTP Streaming General Questions' .
关于javascript - 如果我想创建一个 AJAX 聊天,应该使用什么通信技术来保持可扩展性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7799256/