请问worker,bussinessworker是如何实现和gataway进程通讯的

0

我查看源码,没有找到bussworker监听的端口,除了一个异步通讯,文笔菜

已邀请:

blogdaren - 常年游走于 Linux、PHP、C、VIM 之间【http://www.phpcreeper.com】

赞同来自: awesome1tang

1、首先 BusinesWorker 是不监听端口的,主要用于接收Gateway转发过来的事件以及数据,并默认调用Events.php中的onXXX来处理业务逻辑。
2、Gateway和 BusinesWorker 进程通讯原理【摘自手册】:
(1) Register、Gateway、BusinessWorker进程启动
(2) Gateway、BusinessWorker进程启动后向Register服务进程发起长连接注册自己
(3) Register服务收到Gateway的注册后,把所有Gateway的通讯地址保存在内存中
(4) Register服务收到BusinessWorker的注册后,把内存中所有的Gateway的通讯地址发给BusinessWorker
(5) BusinessWorker进程得到所有的Gateway内部通讯地址后尝试连接Gateway

awesome1tang - 99

赞同来自:

接受数据就得连接gataway,那gataway返回bussiness数据不需要根据bussiness的地址及端口发包嘛,bussiness也需要自己的端口的吧

awesome1tang - 99

赞同来自:

还是不太理解,bussiness没有自己的端口是如何收到包的

awesome1tang - 99

赞同来自:

timer定时器是判断时间戳的形式实现的吧

要回复问题请先登录注册