解决方法
首先,投票是可行的方法.您可以使用Flash或Silverlight或Comet –
http://en.wikipedia.org/wiki/Comet_(programming)来执行此操作,它可以保持打开tcp连接以进行通知.网页本身无法打开套接字,因此无法直接通知Web客户端.
[编辑]
但想想看,有多少客户端可以同时为一台服务器提供tcp连接?对于更大的系统,由于有65k端口可用,因此可用的插槽很快就会耗尽.
服务器可以处理多少并发连接取决于您的硬件资源.如果你有足够的内存和cpu,你应该能够处理~100k甚至更多.但是,如果每个请求通过tcp / ip访问数据库或其他资源,则可能限制为每个可用ip的端口数(65k).您还应该推送请求针对单独的域,因为浏览器通常会限制每个域的两个并发连接,因此您不会干扰正常的页面加载.
将轮询与前端缓存服务器结合使用是一个很好的解决方案.您可以在服务器上使用逻辑来更新每个客户端的缓存,从而减少每个轮询的负载.您可以为在X分钟内登录/轮询的用户更新缓存,以进一步减少缓存更新.对我来说,实施拉动比拉动更容易,技术明智.