我在CodeIgniter框架中有一個PHP應用程序,運行在具有MySQL數據庫的Apache服務器上。有很多數據庫通信,都是通過抽象層完成的。這是一個遊戲應用程序,當用戶打開頁面時,使用PHP從MySQL中獲取帶有一些額外信息的開放遊戲列表,並顯示在頁面上。現在,我需要設置它,以便列表更新。我需要一個websockets服務器,因爲當我使用Ajax時,延遲太大了,我決定使用Node.js + sockets.io來實現。我並不需要每次聯繫數據庫,我都可以根據客戶端上的用戶操作更新列表。從PHP發送結構化數據到沒有HTTP的Node.js?
這就是我卡住的地方 - 第一次用PHP加載列表後,如何將它發送給Node.js?我發現一個解決方案涉及發送HTTP請求用於此目的,但這似乎是多餘的,因爲此時,我已經將所有數據顯示在客戶端上。
下面是一些樣本數據,在PHP數組被顯示在頁面上之前:
array(2) { [0]=> object(stdClass)#19 (6) { ["id"]=> string(1) "1" ["admin_id"]=> string(1) "2" ["start_date"]=> string(19) "2013-11-18 07:19:46" ["status"]=> string(1) "1" ["username"]=> string(15) "Marko Marković" ["option"]=> string(5) "start" } [1]=> object(stdClass)#20 (6) { ["id"]=> string(1) "2" ["admin_id"]=> string(1) "3" ["start_date"]=> string(19) "2013-11-18 07:20:32" ["status"]=> string(1) "1" ["username"]=> string(13) "Dzoni Noksvil" ["option"]=> string(5) "start" } }
有沒有一種方法,我可以在客戶端打包這件事,然後就都節點從挑數據向上客戶端,所以不需要將數據從PHP直接發送到Node?
爲什麼不使用救護車,做你的WebSockets服務器 - 在PHP中的東西? – Pointy
因爲我花了一個星期的時間試圖讓Ratchet在我的服務器上工作,在這個過程中又問了兩個人的幫助,堆棧溢出沒有任何幫助,最後,我放棄了,因爲它不工作,沒有需要說明的文檔,即使我能夠使用它,我也不希望被一種沒有真正的在線支持的技術所困住,以免再次遇到問題。這一切似乎都很脆弱。 – jovan
這是一個體面的服務器,以防萬一http://www.4shared.com/rar/7RIos1tuce/PHPWebSocket-Chat-master.html –