Как закрыть соединение с пользователем в workerman?

#php #websocket

Вопрос:

Я хочу, чтобы, когда пользователь создает новое соединение с websocket (например, открывает новую вкладку), старое соединение автоматически прерывается со стороны сервера. В документации рабочий не нашел необходимой информации. Само соединение выглядит следующим образом:

 lt;?php  require_once __DIR__ . '/vendor/autoload.php';  use WorkermanWorker;  $users = [];  $ws_worker = new Worker("websocket://0.0.0.0:8000");  $ws_worker-gt;onWorkerStart = function() use (amp;$users) {   $inner_tcp_worker = new Worker("tcp://127.0.0.1:1234");   $inner_tcp_worker-gt;onMessage = function($connection, $data) use (amp;$users) {  $data = json_decode($data);  if (isset($users[$data-gt;user])) {  $webconnection = $users[$data-gt;user];  $webconnection-gt;send($data-gt;message);  }  };  $inner_tcp_worker-gt;listen(); };  $ws_worker-gt;onConnect = function($connection) use (amp;$users) {  $connection-gt;onWebSocketConnect = function($connection) use (amp;$users)  {  $users[$_GET['user']] = $connection;  }; };  $ws_worker-gt;onClose = function($connection) use(amp;$users) {  $user = array_search($connection, $users);  unset($users[$user]); };  // Run worker Worker::runAll();