0

我不确定使用 Faye 或其他一些推送系统而不使用 Ajax 有什么优势。

具体来说,我的意思是实现聊天和通知功能。

如果我制作了一个聊天消息模型,并且在我的帖子(其中有很多聊天消息)中,我可以在帖子页面中使用 Ajax 刷新消息并获得聊天功能。

我是否错过了 Faye 或 Ajax 的某些内容?是不是更有效率?

4

1 回答 1

5

Faye 正在建立一个连接,服务器可以通过该连接将数据推送到客户端。使用 Ajax,客户端必须请求数据,如果它不知道有新数据可用(聊天客户端就是这种情况),那么它必须定期轮询新内容。

是不是更有效率?如果聊天系统看到足够的流量,以至于您的轮询周期每次都在获取新数据,那么可能不会。另一方面,如果您有一个空闲的聊天室,那么所有轮询都将消耗资源,这可以通过让服务器推送数据来避免。

这样做的另一面是您保持与服务器的连接打开。如果您有大量空闲客户端,这可能对您不利。因此,对于哪种方法更好,或者甚至是混合方法(打开 Faye 连接以供主动使用,然后不频繁地空闲到 Ajax 轮询),它将是上下文敏感的。

于 2012-05-23T16:50:53.993 回答