我需要创建一个像 facebook 聊天这样的聊天。
使用 Comet,我需要更多内存来保持连接。
使用 Ajax 轮询时,如果我每 3-4 秒发送一次请求,就会出现延迟问题。
所以...如果延迟(3-4 秒)无关紧要,Ajax 轮询是否更适合我的情况?
我需要创建一个像 facebook 聊天这样的聊天。
使用 Comet,我需要更多内存来保持连接。
使用 Ajax 轮询时,如果我每 3-4 秒发送一次请求,就会出现延迟问题。
所以...如果延迟(3-4 秒)无关紧要,Ajax 轮询是否更适合我的情况?
延迟不是唯一的问题。COMET(长轮询)“节省”您的流量 - 当您使用轮询时,您无法知道服务器是否发生了变化,因此某些调用可能只是浪费流量和资源(例如,即使没有人聊天时,您每 3-4 秒打一次电话)。在 COMET 的情况下,您通常只需调用一次即可从服务器获取更新(命中率 100%)。
如果延迟不是问题,那么 AJAX 可能会更好。如果您不是非常非常小心,Comet 可能会遇到维护同一客户端/服务器对之间的多个连接的问题。(参考)