我有一个使用 Laravel 用 PHP 编写的 Web 应用程序。
现在,我必须添加实时通知系统,从服务器 -> 客户端推送消息,并且可以检索从客户端 -> 服务器推送的消息。
由于 Socket.IO 向后兼容并且可以优雅地降级,因此我想将它用于 WebSocket / AJAX 轮询部分。
问题是 Socket.IO 默认与 Node.JS 后端一起工作。
我拥有服务器的根访问权限,并行运行两者(Apache 和 Node)或添加任何额外内容都没有问题。
问题是,如何从 PHP 向 Node + Sockets.IO 发送消息?
进而,如何将消息从 Sockets.IO + Node 传输到 PHP?
我保留了“节点+浏览器套接字”部分,因为这非常简单。
我见过利用的例子Express.js + CURL 和/或 POST 请求 https://stackoverflow.com/questions/11550103/push-notifications-using-socket-io-and-php,但是,没有更低级别的方法吗?
我知道DNode + PHP http://bergie.iki.fi/blog/dnode-make_php_and_node-js_talk_to_each_other/,但我无法想象如何组装所有东西 - Apache、PHP、Node、Socket.IO、DNode,以便它可以无缝地协同工作。
另外,我已经转变成一个 laravel 库了PHP WebSockets 服务器 https://github.com/lemmingzshadow/php-websocket执行。不过,这个库的问题在于它的客户端使用干净的 WebSocket。而且,我找不到一种方法将其与Socket.IO客户端 https://github.com/LearnBoost/socket.io-client.