在 GatewayWorker 下使用 GateWay::sendToAll($cmd,$client_id_array); 傳送資料出現錯誤。

0

在 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 編碼錯誤。

已邀请:

flimulus - Hello~

赞同来自:

抱歉,問題已解決,參數傳成多層陣列。

walkor

赞同来自:

好的

要回复问题请先登录注册