当前位置: 首页 > 知识库问答 >
问题:

socket.io上基于PHP应用程序+WebSocket的通知

龚同
2023-03-14

因为socket.io是向后兼容的,并且可以很好地降级,所以我想将它用于WebSocket/AJAX轮询部分。

问题是socket.io默认情况下与Node.js后端一起工作。

我对服务器有root访问权限,并行运行两者(Apache和Node)或添加任何额外的东西都没有问题。

我知道DNode+PHP,但我无法想象如何组装所有东西--Apache、PHP、Node、Socket.io、DNode以便无缝地协同工作。

另外,我已经将这个PHP WebSockets服务器实现转换为一个laravel库。不过,这个库的问题是它在客户端使用了干净的WebSockets。而且,我找不到一种方法将它与socket.io客户机一起进行黑客攻击。

共有1个答案

邹浩
2023-03-14

这个关于使用PHP和socket.io的教程回答了问题的主要部分。

socket.io不是您唯一的选择。请看实时web技术指南。从外观上看,目前最好的基于PHP的解决方案是Ratchet。这需要作为一个单独的进程运行,所以您仍然会遇到跨进程通信的问题。

常见的跨进程通信问题是使用消息队列。当您希望运行在Apache上的PHP应用程序从实时web技术中获知事件时,问题就出现了。您可能必须通过web调用来完成此操作,即使是从实时web技术进程到apache服务器的调用。

 类似资料:
  • 问题内容: 我有一个使用laravel用PHP编写的Web应用程序。 现在,我必须添加实时通知系统,该系统可以从服务器->客户端推送消息,并且可以检索从客户端->服务器推送的消息。 由于Socket.IO向后兼容且性能下降,因此我想将其用于WebSocket / AJAX轮询部分。 问题是默认情况下Socket.IO可与Node.JS后端一起使用。 我具有对服务器的root访问权限,并行运行(Ap

  • 我刚刚在AWS EKS上部署了基于websocket的echo服务器。我看到它运行稳定且正常,但当我搜索实现细节时,我发现只有一些文章提到了nginx-ingres-controller或AWS-application-loadbalancer,以及它们的许多问题。 我是否错过了当前香草配置中的任何内容?我需要AWS ALB或nginx入口控制器吗? 谢谢你所有的回复。祝你一切顺利。

  • 我在PHP中使用了一些AJAX来处理提交表单之类的事情,最近我开始研究WebSockets。我跟随本教程来了解基础知识。据我所知,websockets保持连接打开,而AJAX打开和关闭请求。 我的问题是,如果您只是提交表单或auto_complete之类的简单任务(这里有一个jQuery插件),websockets是否比AJAX有优势?也许教程不是最棒的,但似乎要让websockets工作(至少在

  • 主要内容:创建项目,在Eclipse中导入项目,运行项目从这篇文章开始,我们使用Spring-AOP框架编写实际的AOP应用程序。在开始使用Spring-WS框架编写第一个示例之前,必须确保已经按照Spring AOP安装配置教程中的说明正确设置了Spring-AOP开发运行环境。 现在我们继续来编写一个简单的基于控制台的Spring AOP应用程序,它用于演示AOP的概念。 先来看看要创建的项目的目录结构 - 创建项目 打开命令控制台,进入目录并执行

  • 问题内容: 我正在设计一个简单的基于Web的应用程序。我是这个基于Web的领域的新手,我需要您提供有关设计模式的建议,例如应如何在Servlet之间分配职责,创建新Servlet的条件等。 实际上,我主页上的实体很少,而与每个实体相对应,我们几乎没有添加,编辑和删除等选项。之前,我为每个选项使用一个Servlet,例如Servlet1用于添加实体1,Servlet2用于编辑实体1,依此类推,这样我

  • 我使用Spring Boot开发了这个websocket服务器。服务器与基于js的客户机配合得很好。 控制器: 这是服务器端。现在,对于客户机,我已经创建了一个@ClientEndpoint,当我连接到URI“ws://localhost:8080/spring-mvc-java/chat”时,我能够建立一个连接,并且可以看到@ClientEndpoint的@OnOpen回调被触发。 但是,use