2013-07-24 22 views
6

我目前正在使用Symfony2編寫一個相當標準的Apache/PHP/mySQL網站,並考慮使用Node和socket.io來滿足特殊需要:通知欄。沒什麼太花哨的,當你有新的朋友請求,新的郵件時,通知就會亮起來......通知欄的Node.js和socket.io:我的方法正確嗎?

我不太喜歡定期從ajax循環請求我的數據庫;我希望此功能具有完全可擴展性,並且具有最小的佔用空間。

因此,我正在考慮在我的數據庫服務器端提供一個定期請求,並向Node中的每個相關用戶發送一個推送通知,以便在Node中提供我的開放套接字列表。

我正確的做法嗎?

乾杯

+3

MySQL確實沒有一個好的推送通知系統,但[Redis](http://redis.io/)。也許你可以使用輔助數據庫僅用於通知,否則你將不得不積極地進行輪詢。 – tadman

回答

3

你是絕對正確的軌道上,但我建議把通知的東西,在你的應用程序,而不是查詢數據庫。例如朋友的要求的,做到這一點時,好友請求被髮送:

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

其中send_notification是發送POST請求到您的服務器的NodeJS的方法。您的nodejs服務器接收到POST並將消息轉發給正在收聽$to的任何內容。

+0

非常好,非常感謝。 – heyMcFly

相關問題