想法是,在Application目录下创建多个项目,其中一个项目(A)用于开启Gateway进程,保存客户端连接数据。用户都连接到(A)这个项目上,发消息的时候用协议号,通过(A)向其他的项目发送数据,其他项目返回数据给(A),(A)再返回给用户。 请教如何配置(A)与其他项目的配置文件? (A)只想部署Gateway进程,其他项目只想部署Worker进程 所有项目都是基于Gateway/Worker的框架。
可以看下http://www.workerman.net/gatewaydoc/gateway-worker-development/router.html,路由(一个回调函数)可以根据请求类型把请求分发到不同的worker进程。完成你要的效果。路由的时候每个worker连接都有个数组下标,数组下标个是 ip:{$worker->name}:{$worker->id},可以根据worker->name判断是哪种worker进程。
可以参考start_businessworker.php那样新建start_businessworker_chat.php、start_businessworker_gift.php(要设置好businessworker->name,方便路由的时候识别),服务启动的时候这些worker会自动启动。
现在需求不是让client_id与某个BusinessWorker。大致就是说,现在有多个项目,让一个项目当网关进程,其他项目当业务进程。然后用户只需要连网关进程,由网关进程去转发消息。Gateway/Worker单项目是可以实现,如果是多项目的话,需要怎么配置呢?
http://www.workerman.net/gatewaydoc/advanced/multi-gatewayworker-instance.html
可以看下http://www.workerman.net/gatewaydoc/gateway-worker-development/router.html,路由(一个回调函数)可以根据请求类型把请求分发到不同的worker进程。完成你要的效果。路由的时候每个worker连接都有个数组下标,数组下标个是 ip:{$worker->name}:{$worker->id},可以根据worker->name判断是哪种worker进程。
可以参考start_businessworker.php那样新建start_businessworker_chat.php、start_businessworker_gift.php(要设置好businessworker->name,方便路由的时候识别),服务启动的时候这些worker会自动启动。
现在需求不是让client_id与某个BusinessWorker。大致就是说,现在有多个项目,让一个项目当网关进程,其他项目当业务进程。然后用户只需要连网关进程,由网关进程去转发消息。Gateway/Worker单项目是可以实现,如果是多项目的话,需要怎么配置呢?
http://www.workerman.net/gatewaydoc/advanced/multi-gatewayworker-instance.html