同题,同时2.0如何升级到3.0
2.x 和 3.x架构上没有差异
主要是workerman内核部分重新写了,目录结构有变动
Gateway/Worker的所有接口没有变动,Gatway/Worker协议处理上有变动,原来2.x是需要在Worker进程中的Event.php中解析协议,3.x统一由Gateway进程解析协议,然后传递解析好的数据给Event.php,业务不在关心协议打包解包问题
2.x开发的项目一般不用考虑升级到3.x。
新项目开发可以考虑3.x,因为开发起来更简单,具体开发流程看参考3.x手册 http://doc3.workerman.net/index.html
workerman 老大, 有个问题我不大明白。
在3.0上,手册上说基于Worker方式不能实现客户端和客户端之间通信;而基于Gateway/Worker是可以实现客户端之间通信。
这里所谓的客户端通讯,我理解就是在Gateway/Worker上,一个客户端先发消息给服务端,然后服务端再响应的发送给另外一个客户端,或则全部连接上的客户端。对吗??
如果是这样,那么Woker方式,不是也可以把所有已经连接上的Connection都保存起来(Array),然后在需要的时候,通过遍历这个Array做分发? 这不是也算客户端通讯??
谢谢
对的
单进程是可以这样做的(见手册的小例子:http://doc3.workerman.net/development/process.html),但是多进程的话,比如客户端A连的是进程1,客户端B连的是进程2,当A要通过Worker给B发送数据时,A只能发给Worker进程1,但是Worker进程1却无法发给B连接,因为B连接是属于Worker进程2的
谢谢老大的回复,真心点赞!
2.x 和 3.x架构上没有差异
主要是workerman内核部分重新写了,目录结构有变动
Gateway/Worker的所有接口没有变动,Gatway/Worker协议处理上有变动,原来2.x是需要在Worker进程中的Event.php中解析协议,3.x统一由Gateway进程解析协议,然后传递解析好的数据给Event.php,业务不在关心协议打包解包问题
2.x开发的项目一般不用考虑升级到3.x。
新项目开发可以考虑3.x,因为开发起来更简单,具体开发流程看参考3.x手册
http://doc3.workerman.net/index.html
workerman 老大, 有个问题我不大明白。
在3.0上,手册上说基于Worker方式不能实现客户端和客户端之间通信;而基于Gateway/Worker是可以实现客户端之间通信。
这里所谓的客户端通讯,我理解就是在Gateway/Worker上,一个客户端先发消息给服务端,然后服务端再响应的发送给另外一个客户端,或则全部连接上的客户端。对吗??
如果是这样,那么Woker方式,不是也可以把所有已经连接上的Connection都保存起来(Array),然后在需要的时候,通过遍历这个Array做分发? 这不是也算客户端通讯??
谢谢
对的
单进程是可以这样做的(见手册的小例子:http://doc3.workerman.net/development/process.html),但是多进程的话,比如客户端A连的是进程1,客户端B连的是进程2,当A要通过Worker给B发送数据时,A只能发给Worker进程1,但是Worker进程1却无法发给B连接,因为B连接是属于Worker进程2的
谢谢老大的回复,真心点赞!