1

我正在尝试制作一个与 gtalk 交互的网络聊天应用程序。成功从我的应用程序向 gtalk 用户发送消息。如果 gtalk 用户从另一端 ping 我,我也可以在我的服务器上接收消息,但问题是我如何知道有消息在等待。我只能想到每 5 秒或什么的 ajax 命中。有没有更好的方法来实现它?

谢谢你的时间。

4

3 回答 3

1

据我所知,您真正需要的是Comet 解决方案之一。您的选择取决于您计划支持的应用程序架构和浏览器。

如果您可以只支持主流浏览器,我建议为此使用网络套接字,这里有一个快速演示 - http://html5demos.com/web-socket

于 2012-05-26T18:14:53.283 回答
1

根据您的问题,我认为您正在搜索类似推送邮件系统的东西,也就是说,您正在尝试从服务器推送到浏览器。但是,我认为没有比每 5 秒命中一次 ajax 更好的方法了。

Comet有一种方法,它的效果不太好。看这里

但是,在 HTML5 中你有socket。您可以从以下链接中获取有关套接字的更多信息:

http://en.wikipedia.org/wiki/WebSocket

https://stackoverflow.com/questions/4262543/what-are-good-resources-for-learning-html-5-websockets

因此,考虑到各个方面,您的选择会更好。

于 2012-05-26T18:16:27.917 回答
0

在 HTML 5 之前,不。你必须投票。

这有几个原因(归结为 Web、Web 浏览器和 HTTP 的工作方式),但最简单的考虑方法是 Web 和 HTTP 以请求/响应模式运行;也就是说,来自网络浏览器的请求被发送到返回响应的网络服务器,然后连接被切断。服务器无法与浏览器重新建立联系;浏览器必须返回到服务器。

于 2012-05-26T18:15:40.103 回答