GatewayWorker 与 Workerman的关系
GatewayWorker 手册
http://doc2.workerman.net/
GatewayWorker基于Workerman开发的一个项目框架,用于快速开发TCP长连接应用,例如app推送服务端、即时IM服务端、游戏服务端、物联网、智能家居等等
GatewayWorker使用经典的Gateway和Worker进程模型。Gateway进程负责维持客户端连接,并转发客户端的数据给BusinessWorker进程处理,BusinessWorker进程负责处理实际的业务逻辑(默认调用Events.php处理业务),并将结果推送给对应的客户端。Gateway服务和BusinessWorker服务可以分开部署在不同的服务器上,实现分布式集群。
GatewayWorker提供非常方便的API,可以全局广播数据、可以向某个群体广播数据、也可以向某个特定客户端推送数据。配合Workerman的定时器,也可以定时推送数据。
GatewayWorker 与 Workerman的关系
Workerman可以看做是一个纯粹的socket类库,可以开发几乎所有的网络应用,不管是TCP的还是UDP的,长连接的还是短连接的。Workerman代码精简,功能强大,使用灵活,能够快速开发出各种网络应用。同时Workerman相比GatewayWorker也更底层,需要开发者有一定的多进程编程经验。
因为绝大多数开发者的目标是基于Workerman开发TCP长连接应用,而长连接应用服务端有很多共同之处,例如它们有相同的进程模型以及单发、群发、广播等接口需求。所以才有了GatewayWorker框架,GatewayWorker是基于Workerman开发的一个TCP长连接框架,实现了单发、群送、广播等长连接必用的接口。GatewayWorker框架实现了Gateway Worker进程模型,天然支持分布式多服务器部署,扩容缩容非常方便,能够应对海量并发连接。可以说GatewayWorker是基于Workerman实现的一个更完善的专门用于实现TCP长连接的项目框架。
用GatewayWorker还是Workerman?
如果你的项目是长连接并且需要客户端与客户端之间通讯,建议使用GatewayWorker。
短连接或者不需要客户端与客户端之间通讯的项目建议使用Workerman。
GatewayWorker不支持UDP监听,所以UDP服务请选择Workerman。
如果你是一个有多进程socket编程经验的人,喜欢定制自己的进程模型,可以选择Workerman。
GatewayWorker 与 Workerman的关系相关推荐
- workerman入门之GatewayWorker的使用
GatewayWorker介绍 GatewayWorker是基于Workerman开发的一套TCP长连接的应用框架,实现了单发.群发.广播等接口,内置了mysql类库,GatewayWorker分为G ...
- 使用GatewayWorker框架,多个workerman进程(businessworker)负载不均衡的问题解决过程
公司搭建一套智慧社区.智能对讲管控云平台时,使用GatewayWorker框架搭建app端外推送的服务.发现性能比预期的低.也就是GatewayWorker(https://github.com/wa ...
- TP5——workerman在线客服
项目环境搭建 C:\WINDOWS\system32\drivers\etc 整合入项目及长连接实现群发功能初次体验 群发及客户端和socket服务器保持长连接双向消息推送 长连接绑定用户id实现实现 ...
- php实时通讯(GatewayWorker)使用入门教程
GatewayWorker 使用入门教程(window+linux) 最近由于公司外包开发的需要,用了2天的时间研究了一下GatewayWorker.期间也查找了很多的资料,还花了50多买了一套视频教 ...
- ThinkPHP结合GatewayWorker 实现即时通讯
我尽量写的详细一些,根据步骤来 是不会错的 第一步安装tp框架 composer create-project topthink/think=5.1.* tp5 第二步下载 GatewayWorker ...
- PHP 的运行方式有哪些?
PHP本质上的运行方式可以分为两种: 基于命令行的 基于PHP-FPM的 但实际上,PHP能做的事很多,很多场景下,不同的运行方式能让开发更方便,减轻各种工作. 测试开发 PHP内置了一个HTTP 的 ...
- 9个杀手级的PHP项目,快来收藏使用
PHP发展了这么多年,有许多有趣的项目.让我们摆脱那些讨厌的增删改查,一起来了解这些有趣的项目. 1.php-ai/php-ml,一个高级的PHP的机器学习库 php-ml是一个使用PHP实现的机器学 ...
- workerman GatewayWorker配置wss服务
GatewayWorker配置开启wss服务 代码 start_gataway.php <?php /*** This file is part of workerman.** Licensed ...
- TP6灵活使用workerman和gatewayWorker
内容介绍 网上能够搜到一些文章,教你如何完全把gatewayWorker完美结合到一起的,但是我不喜欢这样.我甚至都不用官方的think-worker库.因为这种做法会牺牲很多灵活性.耦合太严重. 当 ...
最新文章
- 【Groovy】Groovy 扩展方法 ( 实例扩展方法配置 | 扩展方法示例 | 编译实例扩展类 | 打包实例扩展类字节码到 jar 包中 | 测试使用 Thread 实例扩展方法 )
- Mybatis学习之配置优化
- java web文件夹_JAVA WEB项目文件夹上传下载解决方案
- 探究Softmax的替代品:exp(x)的偶次泰勒展开式总是正的
- 6.MySQL数据库与数据表操作
- 运用Logistic模型检验影响企业现金分红的主要因素
- rebuild myself rebuild my world
- Nginx+Redis 搭建高性能缓存利器
- Mongoose的链接和model优化
- 问题七十:计算机图形中的采样(Sampling)
- I.MX6 busybox set hosname and login with root
- java之jsoup爬虫
- System.Exception: 操作必须使用一个可更新的查询
- 009 [转载]天才与鬼才:黑客精英-凯文·米特尼克
- 聊斋志异读后感 [20180818]
- python爬取作品集_Python爬虫爬取哈利波特小说集,并用数据可视化剖析登场人物...
- java中使用jxls导出excel,excel单元格换行,多sheet页导出
- Clickhouse MergeTree系列(Replacing、Summing等)表引擎使用说明
- 第七周 项目四-队列数组
- 宽480高640证件照是几寸?我只推荐这个方法
热门文章
- 产品销售成本与产品制造成本的区别
- 删除+mysql+用户密码_误删除mysql中的所用用户,如何重新设置root账号和密码
- windows平台基础工作软件整理【持续更新】
- 科目二难点——倒车入库
- 拍沪牌服务器响应,上海虹口代拍沪牌费用,百兆光线实时响应
- ida如何识别linux内核函数,如何识别IDA反汇编中动态链接库中的函数
- java帮助文档mye_【SpringMVC】使用Myeclipse创建SpringMVC项目【超详细教程】
- 利用Python导入股票列表
- Android wms粗略介绍
- 数据结构实训之——哈夫曼树压缩文件和解压文件(C语言)