Php 通知栏的Node.js和socket.io:我走对了吗?

Php 通知栏的Node.js和socket.io:我走对了吗?,php,mysql,apache,node.js,socket.io,Php,Mysql,Apache,Node.js,Socket.io,我目前正在使用Symfony2编写一个相当标准的Apache/PHP/mySQL网站,并考虑使用Node和socket.io满足一个特殊需求:通知栏。没什么特别的,当你收到一个新朋友的请求,一封新邮件时,一个通知就会亮起 我不太喜欢定期从ajax循环中请求DB;我希望这个功能是完全可扩展的,并有一个最小的足迹 因此,我正在考虑在我的数据库服务器端有一个周期性的请求,为节点中打开的套接字列表提供一个推送通知给每个相关用户 我走对了吗 干杯你肯定走对了方向,但我建议将通知内容放在你的应用程序中,而不

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

我不太喜欢定期从ajax循环中请求DB;我希望这个功能是完全可扩展的,并有一个最小的足迹

因此,我正在考虑在我的数据库服务器端有一个周期性的请求,为节点中打开的套接字列表提供一个推送通知给每个相关用户

我走对了吗


干杯

你肯定走对了方向,但我建议将通知内容放在你的应用程序中,而不是轮询你的数据库。例如,朋友请求,在发送朋友请求时执行此操作:

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

其中,
send\u notification
是一种向nodejs服务器发送POST请求的方法。您的nodejs服务器接收POST并将消息转发给正在收听的任何人。MySQL实际上没有一个好的推送通知系统,但确实有。也许您可以使用辅助数据库来进行通知,否则您将不得不进行积极的轮询。