1

我是论坛的新手,感谢任何建议我已经搜索了很多,阅读了很多主题,以找到适合我的项目的最佳方式

我正在使用 wamp 服务器(内部网)构建一个广播站点,以便在内部使用。

使用的语言:PHP、JS、Ajax、MySql

目前我们正在使用聊天系统(spark),但该项目的想法是保留广播记录并且更容易跟踪

请不要向我提供第三方应用程序/工具

我有一个用户提交信息的简单 html 表单,请考虑这个示例。

形式:标题(输入文本字段),广播消息(输入文本字段)

存储在 db 表中的信息:

bc_id、标题、bc_msg、submitted_by、date_time

另一个表 user_got_bc: user_id, bc_id, bc_sent (默认0),一旦通知发送,值为1

我正在使用 ajax 查看“user_got_bc”表并验证哪个用户的 bc_sent = 0 并向他发送通知,其中包含另一个表中的 bc 信息,然后将 bc_sent 的值更新为 1

ajax 代码使用 setinterveral 每 10000 毫秒执行一次

一旦用户提交广播,我希望所有其他用户(复数)在同一时间收到通知(一秒钟或多一点都可以)

现在关于通知,您不必担心,我正在使用桌面通知(webkitnotification),我知道它不兼容跨浏览器,但没关系,它工作正常

也就是说,一切正常

我担心的是 ajax 代码对服务器的连接数,无论好坏,用户越多,连接越多

我知道用这么多的连接轰炸服务器是不好的,特别是因为它是每 10 秒 x 用户数

我在许多论坛上阅读了使用彗星的信息,据我所知,它对 PHP 不友好,而且我以前从未实现过

所以我的问题是: - 有没有更好的方法或保持设置好的方式?- 如果彗星更好,是否可以提供一个片段来为该项目工作?

提前谢谢大家。

4

1 回答 1

0

请谷歌 Ajax 长轮询。但对于这类项目,我建议使用一些实时 i/o 软件,例如

node.jssocket.io

如果您有良好的 JavaScript 技能,那么您在使用上面列出的应用程序时应该没有问题。如果您的项目将拥有更多用户,那么您将需要 PUB-SUB、实时、跨浏览器套接字支持。最后是 PUSH 技术。上面列出的应用程序具有所有这些功能。所以试一试。

如果您仍然想坚持使用 PHP、JS、Ajax、MySql,那么您可能需要 Ajax 长轮询技术。

于 2013-06-19T09:21:01.780 回答