php实时通讯(GatewayWorker)使用入门教程
加粗样式欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全...
GatewayWorker 使用入门教程(window+linux)
最近由于公司外包开发的需要,用了2天的时间研究了一下GatewayWorker。期间也查找了很多的资料,还花了50多买了一套视频教程来学习(挺值的吧)。学无止境,希望这篇文章可以给你们再学习GatewayWorker上能有帮助。话不多说,下面进入正题吧!
GatewayWorker 介绍
GatewayWorker基于Workerman开发的一个项目框架,用于快速开发TCP长连接应用,例如app推送服务端、即时IM服务端、游戏服务端、物联网、智能家居等等
GatewayWorker使用经典的Gateway和Worker进程模型。Gateway进程负责维持客户端连接,并转发客户端的数据给BusinessWorker进程处理,BusinessWorker进程负责处理实际的业务逻辑(默认调用Events.php处理业务),并将结果推送给对应的客户端。Gateway服务和BusinessWorker服务可以分开部署在不同的服务器上,实现分布式集群。
GatewayWorker提供非常方便的API,可以全局广播数据、可以向某个群体广播数据、也可以向某个特定客户端推送数据。配合Workerman的定时器,也可以定时推送数据。
有关GatewayWorker跟多的资料信息可以到 GatewayWorker 手册 了解更多的知识。
下载GatewayWorker
GatewayWorker 手册中也有相关的demo下载,以下的是官方的下载地址:
https://www.workerman.net/downloadGatewayWorker文件内容(由于版本迭代的问题存在差异的无需完全参照此图):
相关目录结构和相关的文件的说明就不在这里解释了,你们都可以自行观看GatewayWorker手册学习。(上文有相关链接地址)
window上运行GatewayWorker
1. 安装php环境
配置window变量环境(win10)
我的电脑(右击) > 属性 > 更改设置 > 高级 > 环境变量 > 系统变量 > path > 新建 > 然后添加下载的php版本文件的目录
在命令框(win+R,在弹出框输入cmd)输入php -v 就可以查看是否是安装成功!
完成后打开下载的GatewayWorker文件,双击运行start_for_win.bat文件就可以了。
2. Linux系统安装
这里就不细讲php环境的安装过程了,可以参照以下文章
https://blog.csdn.net/belen_xue/article/details/79418744
然后通过ftp或者git或者下载压缩包解压方式下载GatewayWorker文件
(可参照手册中提供的方法)
通过cd进入到GatewayWorker文件目录,输入命令
php start.php start
这样,就可以运行服务了
3. 坑点概述
如果运行不了,第一个是查看环境是否配置好。在过程我遇到的坑点就是缺少了扩展,或者扩件被禁止使用了。我们可以根据报错的提示查看我们缺少或被禁用的扩展,然后打开php版本文件的etc目录下的php.ini文件。搜索找到对应扩展名,把扩展名从禁止函数 disable_functions 中删去就可以了。
链接GatewayWorker服务
在链接服务前,我们需要修改一下通讯协议。
- 打开 GatewayWorker\Applications\YourApp\start_gateway.php 文件
- 找到 $gateway = new Gateway(“tcp://0.0.0.0:8282”);
- 把 tcp 改为 Websocket 保存,重新启动服务 。
打开浏览器,按下F12调出控制台,再控制台输入
var ws = new WebSocket('ws://127.0.0.1:8282')
ws.onmessage = function(e){ console.log(e) }
ws.send('hellow')
这时,恭喜你,GatewayWorker的部署使用你已经学会了!
学海无涯苦作舟
这时GatewayWorker的学习才刚刚开始,以后的学习就要靠我们好好阅读
更多推荐
所有评论(0)