I know real-time chatting app definitely needs reverse AJAX.But how about other applications that real-time function is not so important?
Say there is a notification function like on Stackoverflow. When people answer your question you get a notification. Probably this is not so important for user to get notified immediately when there is a new answer.
Does this kind of function needs a reverse AJAX? Or it is good enough to set it as a basic AJAX that request the new notification every 60 seconds? Does the basic AJAX consume a lot of server resources? How to choose between them?
答案 0 :(得分:1)
我认为通常可以有3个用例:
您希望尽快向用户显示每个更新。如果是这样的话,一定要选择Long Polling。示例:聊天。
您不需要实时通知,大延迟不是问题。在这种情况下,具有较大间隔的传统轮询对您来说已经足够了。示例:更新用户配置文件中的某些统计信息。
第三种情况介于两者之间 - 您不需要实时更新,但仍然不需要大的延迟。
一个。如果您的数据经常更改,但您不需要向用户报告每次更改,那么传统轮询可能会更好,因为它不会发送不必要的更新。
湾如果数据很少变化,并且您希望通知每次更改,那么再次长轮询可能会更好,因为它不会一次又一次地发送相同的数据。
如用户489041所述,您还需要考虑您的服务器环境。当用户在具有您的长轮询AJAX脚本的页面上时,长轮询保持TCP连接打开。如果您有数万个用户且只有一个服务器,则可能会出现问题。即使用户少于10000,也需要确保应用程序服务器配置为处理多个同时连接。例如,默认配置中的Tomcat无法处理超过200个并发连接。