【发布时间】:2012-11-24 16:16:47
【问题描述】:
我正在做一个项目,其中我需要在服务器上创建 txt 文件时发布公告,并且我需要通过音频公告通知所有用户,音频应在任何客户端浏览器上立即播放目前在页面上。公告的播放需要同步到最大精度。
公告由多个音频文件(播放列表)组成。
在所有活动客户端播放公告后,txt 文件将被删除。并且服务器将等待/寻找另一个 txt 文件。
例如: client1 - 服务器时间:19:22:01,收到通知并播放音频 Client2 - 服务器时间:19:22:01,收到通知并播放音频
有什么建议吗?关于如何在所有客户上一次完成公告,有什么技巧吗? mysql 数据库或 Flash、Applet、HTML5 音频、JQuery 等
谢谢..
【问题讨论】:
-
您可以使用长轮询器。它基本上是一个简单的轮询器,在有数据之前不会返回。让长轮询器(通常是 PHP)中的代码轮询数据库中的事件。在这种情况下,您可以在数据库上获得毫秒级的准确轮询,而无需创建大量数据流量,所有这些都使用现成的成熟技术。
-
目前我正在使用类似的方法,但仍有近 1.5 秒的差异。我想减少。
-
找出这 1.5 秒的来源。我们在数据库上创建了具有 1 分钟超时和 100 毫秒轮询器的长轮询器,它们在 100 毫秒内做出反应。 (另外:你真的需要亚秒级精度吗?也许你使用了错误的工具......)
-
工具有html5、php、mysql和轮询技术。是的,亚秒级精度对我来说很重要。你使用/推荐什么工具。
-
在我们的例子中,我们使用 PHP/MySQL 和基本的 Ajax。 MySQL 轮询器使用 PHP 的
usleep在数据库轮询之间休眠 100 毫秒。我将代码放在答案中。
标签: php jquery mysql html flash