2013-10-06 3 views
1

Для веб-приложения, закодированного в PHP, я использую много функций, которые традиционно используют AJAX, например чат реального времени, с Socket.io. Чтобы использовать веб-узлы без перенапряжения серверов Apache, у меня есть серверы, на которых выполняется node.js специально для соединений Websocket. Я намерен использовать DNode, чтобы позволить php-скриптам вызывать функции node.js Websocket. Как мне это сделать? Просьба привести простой пример, если это возможно.Как использовать Socket.io на выделенном сервере node.js на сайте php?

Я понимаю, что это не самая эффективная структура, но из-за большого количества соединений, использующих в реальном времени функциональность в одно и то же время, запуск Websockets из PHP будет очень интенсивным для сервера. Я также знаю, что есть другие способы достижения связи в реальном времени между сервером и клиентом, такие как длительный опрос и вечные фреймы, но есть определенные причины выбора Web-сокетов.

ответ

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); 
... 

Я надеюсь, что это полезно.

Смежные вопросы