2013-10-06 90 views
1

對於以PHP編碼的網絡應用程序,我爲許多傳統上使用AJAX的功能提供支持,如實時聊天,使用Socket.io。爲了不使用Apache服務器而使用Websockets,我有專門爲Websocket連接運行node.js的服務器。我打算使用DNode來允許php腳本調用node.js Websocket函數。我將如何做到這一點?請儘可能提供一個簡單的例子。我將如何在PHP站點上的專用node.js服務器上使用Socket.io?

我意識到這可能不是最有效的結構,但由於同時使用實時功能的大量連接,從PHP運行Websockets將非常耗費服務器資源。我也知道在服務器和客戶端之間還有其他的實現實時通信的方式,比如長輪詢和永遠的iframe,但是選擇Websocket有一些特定的原因。

回答

1

這是從PHP將數據發送到Node.js的一種替代方案:

<?php 

$ch = curl_init(); 

$data = array('name' => 'Foo', 'file' => '@/home/user/img.png'); 

curl_setopt($ch, CURLOPT_URL, 'http://localhost:8082/test'); /* Nodejs */ 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 

curl_exec($ch); 
?> 

更多信息here

在app.js

app.post('/test', function(req, res){ 
    console.log("name: " + req.body.name); 
... 

我希望這是有幫助的。

相關問題