2011-04-05 70 views
3

我使用Zend框架的PHP开发一个Web应用程序,我有以下要求:在两个客户端之间同步时间?

  1. 当客户端1试图有一个确认框应该出现并称客户端2聊天“你的聊天请求已发送到客户端2.请稍候.....“,剩余时间以秒为单位,开始时为60秒。它应该每秒减少1。

  2. 然后同时客户端2应该得到一个确认框,说明“客户端1请求与您聊天会话,想接受...?”剩下的时间在几秒钟内。如果Client2点击是,则聊天会话应该开始。如果客户端2单击否,则Client1和Client2两端的确认框应消失。

  3. 如果客户端2不接受来自客户端1的聊天请求并且剩余时间达到0,则聊天会话不应该启动并且双方都应该关闭确认框。

  4. 剩余时间应该在两侧同步。


希望我清楚。请建议一些可以帮助我的代码或网站。

在此先感谢......

回答

1

同步时间完全取决于网络速度。
如果任何客户端网络速度较慢,则会失败或者会出现一些延迟。

根据应用的实用性,有三种方法。 (升序)
1.每次发出请求时都存储在数据库中。
2.存储在文件或会话中并将转储安排到数据库中
3.使用Memcache存储内存,这样就不会消耗任何时间用于数据库查询或文件打开(文件打开时间可以忽略不计,但记住第3点是非常危急的情况)。在稍后安排转储到数据库。

在所有情况下,您必须考虑ServerTime而不是客户端的PC时间。 (是的,你可以从浏览器使用Javascript获取它)

0

我从来没有使用Zend框架,但我会建议你在客户端想要联系另一个客户端和超时时间戳的数据库存储,并然后让客户定期检查数据库。

相关问题