PHP发送消息给Node / Socket.IO服务器

我不太确定我是否以正确的方式去解决这个问题。 我想坚持使用我的Socket.IO服务器,不想在节点内创build单独的HTTP服务器。 有了这个,我可以创build一个PHP客户端,可以直接向节点Socket.IO服务器发送数据(例如:玩家从网上商店购买物品)吗?

我已经开始:

<?php class communicator { public function connect($address, $port){ $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if($socket){ try { socket_connect($socket, $address, $port); } catch(Exception $e){ throw new Exception($e->getMessage()); } }else{ throw new Exception('Could not create socket.'); } } ?> 

套接字似乎连接到节点服务器,但我怎样才能开始直接从PHP客户端接收数据?

例如:说我使用socket_write发送消息到服务器。 我如何通过Socket.IO获取?

希望我的问题是有道理的!

即时通讯使用http://elephant.io/用于通讯之间的PHP和socket.io,我只有时间来build立连接的问题,3或4秒完成发送数据&#x3002;

 <?php require( __DIR__ . '/ElephantIO/Client.php'); use ElephantIO\Client as ElephantIOClient; $elephant = new ElephantIOClient('http://localhost:8080', 'socket.io', 1, false, true, true); $elephant->init(); $elephant->emit('message', 'foo'); $elephant->close(); 

随着ElephantIO的最新版本,我设法发送消息:

 include_once("vendor/autoload.php"); use ElephantIO\Exception\ServerConnectionFailureException; $client = new \ElephantIO\Client(new \ElephantIO\Engine\SocketIO\Version1X('http://localhost:9000')); try { $client->initialize(); $client->emit('message', ['title' => 'test']); $client->close(); } catch (ServerConnectionFailureException $e) { echo 'Server Connection Failure!!'; } 

ElephantIO还没有更新到最新的Socket.IO。

因为socket.io v0.9和v1.x是非常不同的。

这里的Socket.io v1.0: http ://socket.io/blog/introducing-socket-io-1-0/

更新:这个链接可能有帮助: https : //github.com/psinetron/PHP_SocketIO_Client