在 GatewayWorker 下使用 GateWay::sendToAll($cmd,$client_id_array); 傳送資料出現錯誤。
$client_id_array 是client_id array 不是 null;
public static function encode($data)
{
$flag = (int)is_scalar($data);
if (!$flag) {
$data = serialize($data);
}
$ext_len = strlen($data);**<-- $data 是 Array;****
$package_len = self::HEAD_LEN + $ext_len + strlen($data);
return pack("NCNnNnNCnN", $package_len,
$data, $data,
$data, $data,
$data, $data,
$flag, $data,
$ext_len) . $data . $data;
}
PHP Warning: strlen() expects parameter 1 to be string, array given in workerman/GatewayWorker/Protocols/GatewayProtocol.php on line 161
GatewayProtocol.php 編碼錯誤。
抱歉,問題已解決,參數傳成多層陣列。
这个问题怎么解决的呀
好的