我正在开发一个简单的通知服务,用于向浏览网站的用户传递消息.通知不必实时发送,但如果它们的发生频率高于每5分钟发送一次,则可能是更好的用户体验.发送到客户端和从客户端发送的数据不是很大,而且是检索数据的直接数据库查询.
在阅读有关该主题的其他对话时,似乎AJAX推送可能导致更高的服务器负载.由于我可以容忍更长的服务器延迟,因此有必要让服务器推送通知或简单地轮询.
实现推送方案并不困难,所以我想我会看到这里的意见.
谢谢你的帮助.
编辑:我已经研究了一个简单的AJAX推送,并根据Mike Purvis的这篇文章实现了一个简单的演示.对于初始版本,客户端负载相当低,大约为5k,并且预计会在相当长的一段时间内保持这种状态.
谢谢大家的回复.我已决定使用轮询解决方案,但将其全部包装在实用程序库中,这样如果他们想稍后更改它就会更容易.
将信息从服务器推送到Web客户端的最佳方法是什么?我知道可以使用Silverlight和Flash设置套接字,但我想要保持这两种技术.
Gmail似乎可以很好地轮询服务器以获取更新的电子邮件,甚至聊天程序也能很好地工作(所有这些都在我的网络浏览器中工作).关于使用asp.net做这样的事情的最佳方法的任何想法?
编辑:如果我必须轮询,我想每2或3秒轮询一次服务器.因此,我不确定如何在不使用Web服务器的情况下如何做到这一点.
我是否需要传回任何HTTP标头告诉浏览器我的服务器不会立即关闭连接并显示为收到HTML?是否有必要让HTML逐步显示为flush()?
这种技术曾经用于聊天等事情,但我正在考虑将它用于COMET类型的应用程序.
我正在为我的网站开发私有消息功能,有没有办法从服务器获取推送通知,用户收到了新消息?
我所知道的唯一技术是不断通过ajax轮询服务器以查看是否有新消息,并在需要时重新加载信使窗口.
感谢您的任何反馈!
UPD:到目前为止,已确定以下方向: