【问题标题】:Broadcast Notification to multiple users at the same time - PHP/MySql/Ajax同时向多个用户广播通知 - PHP/MySql/Ajax
【发布时间】:2013-01-19 21:15:05
【问题描述】:

我是论坛的新手,感谢任何建议

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

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

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

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

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

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

存储在 db 表中的信息:

bc_id、title、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

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

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

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

也就是说,一切正常

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

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

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

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

提前谢谢大家。

【问题讨论】:

  • 如果它已经工作了,何必呢?你有真正的性能问题吗?此外,由于呼叫是从客户端触发的,因此它们不会同时进入。总而言之,除非您遇到真正的问题,否则我不会投入太多时间。
  • 感谢您的回复,它工作正常,你说得对,它们不是同时触发的,而且工作完美无缺,只是想得到别人的意见

标签: php javascript mysql ajax notifications


【解决方案1】:

请用谷歌搜索 Ajax 长轮询。但对于这种项目,我建议使用 一些实时 I/O 软件,例如

node.jssocket.io

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    相关资源
    最近更新 更多