PHP应用程序+在Socket.IO基于WebSocket的通知(PHP application +

2019-06-27 15:11发布

我有使用laravel PHP编写的Web应用程序。

现在,我要补充一点,从服务器推信息的实时通知系统 - >客户端,可以检索消息从客户推送 - >服务器。

由于Socket.IO是向后兼容的,并缓慢下降,我想使用它的WebSocket的/ AJAX轮询的一部分。

问题是,Socket.IO默认工作与Node.js的后端。

我有服务器的root访问权限,在平行或添加任何额外的东西同时运行(Apache和节点)没有问题。

问题是, 如何从PHP发送消息到节点+ Sockets.IO?

然后, 我怎么把从Sockets.IO +节点的消息到PHP?

我已经离开了节点+插座到浏览器的一部分了,因为那是非常直截了当。

我已经看到了利用例子Express.js +卷曲和/或POST请求 ,但是,是不是有这样做的一个较低的水平呢?

我知道DNode + PHP ,但我无法想象如何组装一切-阿帕奇,PHP,节点,Socket.IO,DNode所以它会无缝协作。

另外,我已经变成了一个laravel库这个PHP服务器的WebSockets执行。 与此库,但问题是,它采用干净的WebSockets为它的客户端。 而且,我不能找到一种方法与破解一起Socket.IO客户端 。

Answer 1:

在本教程使用PHP和Socket.IO回答你的问题的主要部分。

socket.io是不是你唯一的选择。 看一看在实时网络技术指南 。 通过它的外观的最好的基于PHP的解决方案,现在是棘轮 。 这需要作为一个单独的进程中运行,所以你仍然要具备跨进程通信问题。

共用横过程通信问题是使用消息队列。 然后,问题是当你想在Apache的PHP应用程序的运行被告知从实时网络技术的事件英寸 你可能会不得不做,通过网络电话,即使是在实时网络技术工艺Apache服务器的呼叫。

另一种选择是卸载实时通信像托管服务推谁我工作。

这最近的问题也是相关的,有一些有用的链接: 是Web套接字本地PHP支持吗?



Answer 2:

Elephant.IO支持PHPSocket.IO所以看看吧!



Answer 3:

没有节点和Apache / PHP之间进行通信的简单方法。 所以,你要么将不得不在节点重新编写所有功能(连接到MySQL数据库和这样的),或者创建一个API来调用节点,并传递给插座。

然而,你可以使用一个jQuery插件,像jQuery的优雅的WebSockets和这个PHP类与jQuery和PHP让自己的WebSockets功能,而不是使用sockets.io。



文章来源: PHP application + WebSocket based notifications over Socket.IO