簡體   English   中英

通過PHP和cURL訪問NodeJS / Socket.io

[英]Access NodeJS / Socket.io over PHP and cURL

我正在運行一個nodejs / socket.io(v 0.7)服務器,將數據推送到Web客戶端。 那很有用。

為了擴展應用程序,我需要通過php觸發/影響socket.io。 我知道一個可以在nodejs http服務器上通過http使用cURL的解決方案。

一種可能的解決方案是在同一app.js中運行socket.io服務器和nodejs http服務器。 客戶端與socket.io連接並與之通信,並且與“單獨的” http服務器(當然,監聽的端口不是socket.io)唯一允許的連接分別是來自cURL的php服務器的127.0.0.1。

因為兩個服務器都在同一作用域中,所以http服務器可以在socket.io服務器上觸發事件。

我的問題:這有意義嗎? 是否有更干凈的解決方案可以從PHP觸發socket.io上的事件?

我認為這是一種合理而直接的方法。 似乎建議謹慎處理執行順序,但這可能只是我不確定節點顯示的情況。

我正在寫一個解決方案,我認為它看起來很像Pusher API。 它利用房間(通道)的概念。 從通過Express的路由中,我可以卷曲(通過PHP)將消息發送到room(通道)。

io.sockets.in('your room').json.send('your json');

我想將來(希望在一周之內)將該項目開源,但希望您能理解。

版本高於1.3.3(可能更舊)的socket.io,您可以觸發如下的發射事件

//send broadcast message to all connecting clients
io.emit([message event],[your message body obj or str]);

// send to specific user
io.to([your room]).emit([message event], [your message body obj or str]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM