向接口推送数据php,socket学习纪录5: workerman 通过API接口调用workerman,后台推送消息至客户端...

本文记录了如何结合ThinkPHP和Workerman,通过API接口调用Workerman来实现在后台向浏览器推送数据。工作流程包括:ThinkPHP与Workerman独立部署,ThinkPHP页面的js建立websocket连接,通过验证后的连接发送数据,仅在需要时调用Workerman接口推送数据。文章提供了WebSocket服务端和小程序端及ThinkPHP后台的关键代码示例。
摘要由CSDN通过智能技术生成

workerman与其它mvc框架结合建议以下图的方式(ThinkPHP为例):

13b8e2d93d625e4c7dbf1f9236bdce92.png

1、ThinkPHP与Workerman是两个独立的系统,独立部署(可部署在不同服务器),互不干扰。

2、ThinkPHP以HTTP协议提供网页页面在浏览器渲染展示。

3、ThinkPHP提供的页面的js发起websocket连接,连接workerman

4、连接后给Workerman发送一个数据包(包含用户名密码或者某种token串)用于验证websocket连接属于哪个用户。

5、仅在ThinkPHP需要向浏览器推送数据时,才调用workerman的socket接口推送数据。

6、其余请求还是按照原本ThinkPHP的HTTP方式调用处理。

把Workerman作为一个可以向浏览器推送的通道,仅仅在需要向浏览器推送数据时才调用Workerman接口完成推送。业务逻辑全部在ThinkPHP中完成。

websocket服务端代码

外层worker为websocket服务,可以接收客户端(如小程序)数据,可以向客户端推送数据;

内层wordker为Text协议,可以接收后台(如thinkphp或YII)的数据,然后根据后台发送的指令,向不同客户端发送消息<?php

//启动socket服务

require_once __DIR__ . '/Autoloader.php';

use Worker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值