将 PHP 与 Socket.io 一起使用
是否可以在客户端使用 Sockets.io,并与服务器上基于 PHP 的应用程序进行通信?PHP是否支持这种“长期连接”的代码编写方式?
我为 socket.io 找到的所有示例代码似乎都是针对服务器端的node.js,因此没有任何帮助。
是否可以在客户端使用 Sockets.io,并与服务器上基于 PHP 的应用程序进行通信?PHP是否支持这种“长期连接”的代码编写方式?
我为 socket.io 找到的所有示例代码似乎都是针对服务器端的node.js,因此没有任何帮助。
回答这个问题可能有点晚了,但这是我发现的。
我不想争论节点是否比php做得更好,这不是重点。
解决方案是:我没有找到任何PHP socket.io 的实现。
但是有一些方法可以实现WebSockets。有这个jQuery插件允许您使用Websockets,同时优雅地降级不支持的浏览器。在PHP方面,有一个类似乎是PHP WS服务器使用最广泛的类。
如果你想将 socket.io 与php一起使用,这可能是你的答案!
项目网站:
他们也在github上:
https://github.com/wisembly/elephant.io
Elephant.io 提供了一个完全用PHP编写的 socket.io 客户端,应该在项目中的任何位置都可以使用。
它是一个轻巧且易于使用的库,旨在通过 socket.io 和websockets为PHP应用程序带来一些实时功能,这些功能无法在完整的javascript中完成。
来自项目网站的示例(通过php与websocket服务器通信)
php 服务器
use ElephantIO\Client as Elephant;
$elephant = new Elephant('http://localhost:8000', 'socket.io', 1, false, true, true);
$elephant->init();
$elephant->send(
ElephantIOClient::TYPE_EVENT,
null,
null,
json_encode(array('name' => 'foo', 'args' => 'bar'))
);
$elephant->close();
echo 'tryin to send `bar` to the event `foo`';
套接字 io 服务器
var io = require('socket.io').listen(8000);
io.sockets.on('connection', function (socket) {
console.log('user connected!');
socket.on('foo', function (data) {
console.log('here we are in action event and data is: ' + data);
});
});