平台:windows 框架:gateway 请教问题:如何在event.php 访问到start_gateway.php变量
在start_gateway.php简述主进程
$ws_worker = new Gateway( "websocket://0.0.0.0:9090" );
$ws_worker -> count = 1;
$ws_worker -> startPort = 9100;
$ws_worker -> onWorkerStart = function( $worker )
{
$inner_tcp_worker = new Worker( ‘sensor://0.0.0.0:9100’ );//自定义sensor协议
$inner_tcp_worker -> onMessage = function ( $tcp_connection, $data )
{
!!!目的想保留这个$tcp_connection,为了能在event.php中的$ws_worker 的onmessage函数中利用这个$tcp_connection的send 函数将web前端发的数据,下传到对应的传感器
}
}
在event.php类中
class Events{
public static function onMessage($client_id, $data)
{
!!!目的想利用在start_gateway.php 文件中$tcp_connection的send函数下发将$data 数据。但这里无法访问$tcp_connection,我不知道如何实现,请教大家提点建议。
}
}
gateway进程和Events.php 不在一个进程,Events.php工作在businessWorker进程,gateway进程和businessWorker进程间变量无法互相共享访问。
你可以在Events.php 的onWorkerStart里创建$inner_tcp_worker,这样是在一个进程里