我正在编写一个简单的聊天客户端(完全用于学习目的)。我的 android 手机将消息发送到远程 MySQL 数据库,我正在让浏览器显示任何新的传入消息。
我目前的方法是使用 javascript:它每 5 秒调用一次函数,然后调用 php 查询新消息并将其发送回浏览器。
我没有 ajax 经验,但我听说当网页中的数据必须不断更改而不必刷新页面时,这很好,这符合我的情况。
我的问题是,这听起来像是我应该使用 ajax 的东西吗?
我正在编写一个简单的聊天客户端(完全用于学习目的)。我的 android 手机将消息发送到远程 MySQL 数据库,我正在让浏览器显示任何新的传入消息。
我目前的方法是使用 javascript:它每 5 秒调用一次函数,然后调用 php 查询新消息并将其发送回浏览器。
我没有 ajax 经验,但我听说当网页中的数据必须不断更改而不必刷新页面时,这很好,这符合我的情况。
我的问题是,这听起来像是我应该使用 ajax 的东西吗?
是的,ajax 是要走的路。但是,您的建议(每 5 秒检查一次消息)会产生大量请求和带宽。你应该研究一下 comet,它仍然是 ajax,但以不同的方式使用它。
Comet本质上是这样的:客户端向服务器发送请求。服务器上的 php 文件每隔几秒就会循环检查一条消息。当服务器找到一条消息时,它echo
就是消息,但它不会关闭连接。当另一条消息到达时,它echo
会再次发送,但不会关闭连接。这允许它只需要 1 个请求而不是数百个请求。见http://www.zeitoun.net/articles/comet_and_php/start
我建议你选择 ajax 或 websockets……如果你要使用 websocket,请学习 node.js……它有很多很酷的功能,因为它是基于 Google Javascript V8 引擎构建的平台
http://www.zeitoun.net/articles/comet_and_php/start
看看这个页面,你会知道一切......;)