【问题标题】:Node.js and socket.io for a notification bar : Am I going the right way?Node.js 和 socket.io 用于通知栏:我走对了吗?
【发布时间】:2013-07-24 03:57:08
【问题描述】:

我目前正在使用 Symfony2 编写一个非常标准的 Apache/PHP/mySQL 网站,并考虑使用 Node 和 socket.io 来满足特殊需求:通知栏。没什么太花哨的,当您收到新朋友请求、新邮件时,通知就会亮起......

我不太喜欢定期从 ajax 循环请求我的数据库;我希望此功能具有完全可扩展性并且占用空间最小。

因此,我正在考虑在我的数据库服务器端发出一个定期请求,将我在 Node 中的打开套接字列表提供给每个相关用户的推送通知。

我走对了吗?

干杯

【问题讨论】:

  • MySQL 确实没有一个好的推送通知系统,但Redis 有。也许您可以使用辅助数据库仅用于通知,否则您将不得不积极轮询。

标签: php mysql apache node.js socket.io


【解决方案1】:

您肯定走在正确的轨道上,但我建议将通知内容放在您的应用中,而不是轮询您的数据库。以好友请求为例,在好友请求发送时进行:

function send_friend_request($from, $to) {
    $mysqli->whatever you do with that;
    send_notification($to, 'You have a friend request!');
}

send_notification 是一种向您的 nodejs 服务器发送 POST 请求的方法。您的 nodejs 服务器接收 POST 并将消息转发给正在收听的任何人 $to

【讨论】:

    猜你喜欢
    • 2017-09-06
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 2014-01-31
    • 2013-11-27
    • 1970-01-01
    • 2018-02-06
    • 2016-06-20
    相关资源
    最近更新 更多