对于使用PHP编码的Web应用程序,我正在为许多传统上使用AJAX的功能提供支持,例如实时聊天,使用Socket.io。为了在不使用Apache服务器的情况下使用Websockets,我有专门为Websocket连接运行node.js的服务器。我打算使用DNode来允许php脚本调用node.js Websocket函数。我该怎么做?如果可能,请提供一个简单的例子。
我意识到这可能不是最有效的结构,但由于大量连接同时使用实时功能,从PHP运行Websockets将非常耗费服务器。我也知道还有其他方法可以实现服务器和客户端之间的实时通信,比如长轮询和永久的iframe,但是选择Websockets背后有特定的原因。
答案 0 :(得分: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);
...
我希望这有用。