Node.js和socket.io用于通知栏:我是否正确行事?

时间:2013-07-24 15:09:04

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

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

我不太喜欢定期从ajax循环请求我的数据库;我希望这个功能完全可扩展,占用空间最小。

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

我是否正确行事?

干杯

1 个答案:

答案 0 :(得分:3)

您肯定是在正确的轨道上,但我建议将通知内容放在您的应用中,而不是轮询您的数据库。例如,朋友请求,请在发送朋友请求时执行此操作:

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的任何内容。