Php 长轮询:每个浏览器中的通知
我开始对我网站的每个页面进行长时间的投票请求。它每秒钟查看一次数据库,如果有新的内容,它会将其标记为已看到并输出通知。然后,调用JavaScript将启动一个新的ajax请求 现在我在网站上打开多个标签时遇到了问题,因为只有一个会收到新的通知。这也是使用相同用户名登录的跨浏览器时出现的问题 解决这个问题最聪明的方法是什么Php 长轮询:每个浏览器中的通知,php,javascript,ajax,long-polling,Php,Javascript,Ajax,Long Polling,我开始对我网站的每个页面进行长时间的投票请求。它每秒钟查看一次数据库,如果有新的内容,它会将其标记为已看到并输出通知。然后,调用JavaScript将启动一个新的ajax请求 现在我在网站上打开多个标签时遇到了问题,因为只有一个会收到新的通知。这也是使用相同用户名登录的跨浏览器时出现的问题 解决这个问题最聪明的方法是什么 谢谢你的投入 我认为最好避免使用浏览器。您将遇到浏览器问题,而且您的基础架构应该非常庞大,可以支持它 尝试服务器端推送技术,如 Comet是一种web应用程序模型,其中包含一个
谢谢你的投入 我认为最好避免使用浏览器。您将遇到浏览器问题,而且您的基础架构应该非常庞大,可以支持它 尝试服务器端推送技术,如 Comet是一种web应用程序模型,其中包含一个长期保存的HTTP请求 允许web服务器在不使用浏览器的情况下将数据推送到浏览器 明确要求
其他方法也可以使用。当您像stackoverflow一样使用
websockets
时,您不需要轮询。您可以向所有侦听器(活动会话)发送通知,并且一旦侦听器收到通知,就可以在本地清除通知并检查是否存在同一用户的任何其他会话。如果数据库中也没有明确的通知。我不是将此作为答案发布,因为我知道websockets
实际上不是ajax和长轮询。