2014-07-03 58 views
3

我正在開發一個Web應用程序與Symfony2。我需要創建一個推送通知sysmte(如Facebook)。當用戶發佈內容時,我需要其他用戶收到通知。集成Node.js與Symfony2或PHP

我看到Node.js這是最簡單的方式。但是,我做了一些簡單的例子,所有工作都很好,但我不知道如何將這個node.js應用程序與我的Symfony2應用程序集成在一起,或者真的與PHP應用程序集成。

有人可以幫助我嗎?

在此先感謝!

回答

2

請注意,你沒有給予足夠的細節,所以我將作爲一個前端開發人員迴應,而不是作爲一個移動開發者

整合NodeJS和PHP(一般來說)並不是一個好方法,因爲你需要分開啓動兩個服務器,在你的應用程序使用PHP創建websocket服務器,最後從你的PHP創建一個請求(GET或POST)到你的JS服務器。那麼,一個大混亂,所以我會在這裏揭露我的解決方案。

快速瞭解移動應用程序。從技術上說,沒有簡單的方法。您可以使用Push「協議」(http://www.wikiwand.com/en/Push_technology)和NotificationPusher(https://github.com/Ph3nol/NotificationPusher)。我以前沒有用過,所以我無法幫助你。

一般情況下。 大多數時候當人們認爲推普時,長時間投票會做到這一點。對於初學者來說,這意味着請求發送到客戶端,服務器不會發送關閉連接的數據,直到有新數據。

你是如何實現這個的?!? 基本上,你改變使用的ini_set的set_time_limit的max_execution_time一個很長的時間當前腳本,並與睡眠和檢查內部數據推出一個循環(如do..while)。從你的Javascript只是做一個Ajax調用,例如使用jquery:$ .get。請記住刪除超時並保持異步模式。

此解決方案的唯一缺點是您將始終有一個連接打開到您的服務器,這將在移動設備上消耗更多電量。如果您有多種類型的數據要接收,請毫不猶豫地合併呼叫,並在響應數據中發佈類型,因爲大多數瀏覽器只允許2或3個同時連接到同一服務器。