最新因为一些业务需求,需要在小程序中使用 WebSocket 长链,
因为之前没有接触过,这里简单介绍一下使用的流程,以及注意事项。
在这里 我们用thinkphp作为后台,使用 Workerman的GatewayWorker框架 进行长链接。
(注意:如果使用第三方云服务器,记住前往控制台,打开相应端口)
这篇文章中,我们只介绍 Workerman 最基本的用,
在之后的文章中进步介绍如何设置 wss 代理,以及如何编写即时通信(聊天)
相关文档:
1、ThinkPhp Workerman
2、微信小程序 WebSocket
3、Workerman 开发手册
workerman
Workerman是一款开源高性能异步PHP socket框架。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯等领域的开发。
支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、MQTT物联网客户端、异步消息队列等众多高性能组件。
可以单独部署,也可以整合进MVC的框架(TP,laravel等)。
gateway-worker
gateway-worker(后面直接称gateway)是基于 workerman 开发的TCP长连接框架,用于快速开发TCP长连接应用。
在线聊天一般都是实用长连接保持通信,使用 workerman 虽然能够做到同样的效果,但是gateway更加的方便快捷。
gatewayClient
gateClient是用来辅助 workerman或者是gateway进行用户分组以及向用户发送信息的组件,同时,能够快速便捷的将原有系统的uid和clientid绑定起来。
注意根据自己的 TP 版本,选择适合的版本的 Workerman
Worker.php控制器:
在项目根目录下添加启动文件 worker.php (注意:加载框架引导文件)
在命令行进入 worker 启动文件所在的目录,
(注:要使用WSS服务需开启Apache/Nginx代理,使用 wss://api.**.net/wss
地址)
开启代理方法: https://www.workerman.net/doc/workerman/faq/secure-websocket-server.html
微信小程序使用:
网页端使用:
本文为冯奎原创文章,转载无需和我联系,但请注明来自冯奎博客fengkui.net
最新评论