其中手冊(cè)也寫到: 手冊(cè)中按照 var ws = new WebSocket('ws://127.0.0.1:7272/?token=kjxdvjkasfh')
需要在 onWebSocketConnect($$client_id, $data) 方法中獲取 data的返回值,用來(lái)綁定 uid,
本地環(huán)境是可以獲取到$data 的
但是linux 線上環(huán)境首次卻獲取不到 客戶端new 的 token 參數(shù)
除非你這開一個(gè)進(jìn)程,不然就使用gatewayworker
我也不知道為什么開了 4個(gè) 我設(shè)置的是一個(gè)的
<?php
use Webman\GatewayWorker\Gateway;
use Webman\GatewayWorker\BusinessWorker;
use Webman\GatewayWorker\Register;
return [
'gateway' => [
'handler' => Gateway::class,
'listen' => 'websocket://0.0.0.0:7273',
'count' => cpu_count(),
'reloadable' => false,
'constructor' => ['config' => [
'lanIp' => '127.0.0.1',
'startPort' => 2300,
'pingInterval' => 25,
'pingNotResponseLimit ' => 1,
'pingData' => '{"type":"ping"}',
'registerAddress' => '127.0.0.1:1236',
'onConnect' => function(){},
]]
],
'worker' => [
'handler' => BusinessWorker::class,
'count' => cpu_count()*2,
'constructor' => ['config' => [
'eventHandler' => plugin\webman\gateway\Events::class,
'name' => 'ChatBusinessWorker',
'registerAddress' => '127.0.0.1:1236',
]]
],
'register' => [
'handler' => Register::class,
'listen' => 'text://127.0.0.1:1236',
'count' => 1, // Must be 1
'constructor' => []
],
];