这里写描述 workman tcp服务开启,有client A和B,我使用B跟服务过程中,通过TcpConnection::$connections查询tcp服务跟A的链接,有时候能查询到,有时候查询不到。
如果开了多个进程,每个进程的 TcpConnection::$connections 是隔离的,不是共享的。 例如a连到进程A,b连到进程B,a从TcpConnection::$connections看不到b的连接对象。 只开一个进程试下。
多谢回复,刚才看了下手册,估计得使用gateway + workman来解决转发问题。
想听下您的建议,现在在做充电桩,tcp协议长连接,不知道GatewayWorker能不能满足需求?现在使用的是workman,但是主动给充电桩发命令使用了一个client,发给服务端,然后服务端找到对应的充电桩链接con, 如果是多个进程,所以就出现了现在这个问题:链接不一定在同一个进程,转发失败。现在临时解决方案是workman只开启了一个进程,所以能转发成功,底层的event-loop:\Workerman\Events\Event,就怕最后处理延时大。现在想用GatewayWorker来改进一下。想听下您的想法。
物联网项目用gatewayWorker好些
感谢感谢
您好,我把gatewayworker库composer进yii2框架里,担心一个问题,gatewayworker中的events是否可以使用yii2里面的数据库链接。
看了两个例子,有一个疑问:YourApp中的Events类的3个on方法是怎么被调用的?应该是被BusinessWorker调用的吧?
知道了,public $eventHandler = 'Events';
现在被调用的方式不再仅仅是函数名,只要拿到函数指针(C语言),或者全局实体(静态)方法体(面向对象语言)也是可以的。
如果开了多个进程,每个进程的 TcpConnection::$connections 是隔离的,不是共享的。
例如a连到进程A,b连到进程B,a从TcpConnection::$connections看不到b的连接对象。
只开一个进程试下。
多谢回复,刚才看了下手册,估计得使用gateway + workman来解决转发问题。
想听下您的建议,现在在做充电桩,tcp协议长连接,不知道GatewayWorker能不能满足需求?现在使用的是workman,但是主动给充电桩发命令使用了一个client,发给服务端,然后服务端找到对应的充电桩链接con, 如果是多个进程,所以就出现了现在这个问题:链接不一定在同一个进程,转发失败。现在临时解决方案是workman只开启了一个进程,所以能转发成功,底层的event-loop:\Workerman\Events\Event,就怕最后处理延时大。现在想用GatewayWorker来改进一下。想听下您的想法。
物联网项目用gatewayWorker好些
感谢感谢
您好,我把gatewayworker库composer进yii2框架里,担心一个问题,gatewayworker中的events是否可以使用yii2里面的数据库链接。
看了两个例子,有一个疑问:YourApp中的Events类的3个on方法是怎么被调用的?应该是被BusinessWorker调用的吧?
知道了,public $eventHandler = 'Events';
现在被调用的方式不再仅仅是函数名,只要拿到函数指针(C语言),或者全局实体(静态)方法体(面向对象语言)也是可以的。