Commit a8a935dc by 杨苏杭

暂存版本

parent 7aef18dc
No preview for this file type
...@@ -235,13 +235,14 @@ class ChangePortController extends Controller ...@@ -235,13 +235,14 @@ class ChangePortController extends Controller
//记录修改端口异常表 //记录修改端口异常表
DB::table('wx_charger_orders')->where('id', $orderId)->update([ DB::table('wx_charger_orders')->where('id', $orderId)->update([
'port_id' => $request->get('new_port_id'), 'port_id' => $request->get('new_port_id'),
'logic_num' => $newLogicNum, 'logic_num' => $newLogicNum,
'port_name' => $request->get('new_port_name'), 'port_name' => $request->get('new_port_name'),
'gateway_id' => $newGatewayId, 'gateway_id' => $newGatewayId,
'change_times' => DB::raw('change_times + 1'), 'change_times' => DB::raw('change_times + 1'),
'start_time' => null, 'start_time' => null,
'is_charger' => -1, 'is_charger' => -1,
'start_capacity' => -1,
]); ]);
......
...@@ -9,6 +9,8 @@ ...@@ -9,6 +9,8 @@
namespace App\Http\Controllers\V1\Update; namespace App\Http\Controllers\V1\Update;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Model\GatewayModel;
use GuzzleHttp\Client;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Lib\send\command\UpdateCommand; use Lib\send\command\UpdateCommand;
use Lib\send\Send; use Lib\send\Send;
...@@ -31,8 +33,6 @@ class UpdateController extends Controller ...@@ -31,8 +33,6 @@ class UpdateController extends Controller
'sign' => 'required', 'sign' => 'required',
]); ]);
Log::debug($request->all());
if ($validator->fails() === true) { if ($validator->fails() === true) {
abort(400, $validator->errors()->first()); abort(400, $validator->errors()->first());
...@@ -42,28 +42,67 @@ class UpdateController extends Controller ...@@ -42,28 +42,67 @@ class UpdateController extends Controller
$updateTime = substr($updateTime, 0, 10); $updateTime = substr($updateTime, 0, 10);
} }
Log::debug($request->all());
$gatewayMac = $request->get('gateway_mac'); $gatewayMac = $request->get('gateway_mac');
$downloadUrl = $request->get('download_url'); $downloadUrl = $request->get('download_url');
$hardwareVersion = $request->get('hardware'); $hardwareVersion = $request->get('hardware');
$softwareVersion = $request->get('software'); $softwareVersion = $request->get('software');
$updateCommand = new UpdateCommand($gatewayMac); $gatewayModel = GatewayModel::where('mac_address', $gatewayMac)->first(['type_id', 'nb_device_id']);
$updateCommand->setSoftware($softwareVersion);
$updateCommand->setHardware($hardwareVersion); if ($gatewayModel->type_id === 5) {
$updateCommand->setDownloadUrl($downloadUrl);
$updateCommand->setUpdateTime($updateTime);
$updateCommand->setSign($request->get('sign')); $client = new Client([
'http_errors' => false,
]);
$response = $client->request('POST', env('NB_UPDATE'), [
'form_params' => [
'nb_device_id' => $gatewayModel->nb_device_id,
'time' => $updateTime,
'hardware' => $request->get('hardware'),
'software' => $request->get('software'),
'sign' => $request->get('sign'),
]
]);
$send = new Send($updateCommand);
if ($send->send() === true) {
Log::debug('发送成功');
return $this->response->array($this->getResponseCode()); Log::debug($response->getStatusCode());
if ($response->getStatusCode() === 200) {
return $this->response->array($this->getResponseCode());
} else {
abort(500, '请求失败');
}
} else { } else {
$this->resultCode = 'FAIL';
$this->resultMessage = '发送失败或设备不在线';
return $this->response->array($this->getResponseCode());
$updateCommand = new UpdateCommand($gatewayMac);
$updateCommand->setSoftware($softwareVersion);
$updateCommand->setHardware($hardwareVersion);
$updateCommand->setDownloadUrl($downloadUrl);
$updateCommand->setUpdateTime($updateTime);
$updateCommand->setSign($request->get('sign'));
$send = new Send($updateCommand);
if ($send->send() === true) {
Log::debug('发送成功');
return $this->response->array($this->getResponseCode());
} else {
$this->resultCode = 'FAIL';
$this->resultMessage = '发送失败或设备不在线';
return $this->response->array($this->getResponseCode());
}
} }
} }
...@@ -71,8 +110,6 @@ class UpdateController extends Controller ...@@ -71,8 +110,6 @@ class UpdateController extends Controller
public function upload(Request $request) public function upload(Request $request)
{ {
Log::debug($request->all());
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
'hardware' => 'required', 'hardware' => 'required',
'software' => 'required', 'software' => 'required',
......
...@@ -13,7 +13,8 @@ ...@@ -13,7 +13,8 @@
"tymon/jwt-auth": "1.0.*@dev", "tymon/jwt-auth": "1.0.*@dev",
"guzzlehttp/guzzle": "^6.3", "guzzlehttp/guzzle": "^6.3",
"overtrue/laravel-lang": "~3.0", "overtrue/laravel-lang": "~3.0",
"rap2hpoutre/laravel-log-viewer": "^0.19.1" "rap2hpoutre/laravel-log-viewer": "^0.19.1",
"workerman/mysql": "^1.0"
}, },
"require-dev": { "require-dev": {
"fzaninotto/faker": "~1.4", "fzaninotto/faker": "~1.4",
......
...@@ -35,7 +35,7 @@ class Gateway ...@@ -35,7 +35,7 @@ class Gateway
*/ */
// public static $registerAddress = 'webapppush.default:1240'; // public static $registerAddress = 'webapppush.default:1240';
//public static $registerAddress = '100.103.0.8:1239'; //public static $registerAddress = '100.127.0.6:1239';
public static $registerAddress = 'cdzregister.default.svc.cluster.local:1239'; public static $registerAddress = 'cdzregister.default.svc.cluster.local:1239';
......
...@@ -41,7 +41,7 @@ class IotClient ...@@ -41,7 +41,7 @@ class IotClient
'app_key' => env('IOT_APP_ID'), 'app_key' => env('IOT_APP_ID'),
'Authorization' => 'Bearer ' . AccessToken::getAccessTokenCache(), 'Authorization' => 'Bearer ' . AccessToken::getAccessTokenCache(),
]; ];
if ($this->request->isJson() === true) { if ( $this->request->isJson() === true ) {
$this->headers['Content-Type'] = 'application/json'; $this->headers['Content-Type'] = 'application/json';
} }
...@@ -60,16 +60,16 @@ class IotClient ...@@ -60,16 +60,16 @@ class IotClient
$request = [ $request = [
'verify' => false, 'verify' => false,
'cert' => [ 'cert' => [
config('iot.cert_path'), __DIR__ . '../../../storage/cert/key.pem',
'IoM@1234', 'IoM@1234',
] ]
]; ];
if (filled($this->headers) === true) { if ( filled($this->headers) === true ) {
$request['headers'] = $this->headers; $request['headers'] = $this->headers;
} }
if ($this->request->isJson() === false) { if ( $this->request->isJson() === false ) {
$request['form_params'] = $this->request->getFormData(); $request['form_params'] = $this->request->getFormData();
$this->response = $client->request($this->request->getMethod(), config('iot.host') . $this->request->getUrl(), $request); $this->response = $client->request($this->request->getMethod(), config('iot.host') . $this->request->getUrl(), $request);
} else { } else {
......
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIEaDCCA9GgAwIBAgIDdYNiMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYDVQQGEwJD MIIEYzCCA8ygAwIBAgIEAQ/xYjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC
TjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UE Q04xEjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNV
ChMHVGVuY2VudDEMMAoGA1UECxMDV1hHMRMwEQYDVQQDEwpNbXBheW1jaENBMR8w BAoTB1RlbmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEf
HQYJKoZIhvcNAQkBFhBtbXBheW1jaEB0ZW5jZW50MB4XDTE3MDEwNDA1MDAxMVoX MB0GCSqGSIb3DQEJARYQbW1wYXltY2hAdGVuY2VudDAeFw0xNzA1MTgxMDAwMzha
DTI3MDEwMjA1MDAxMVowgZgxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rv Fw0yNzA1MTYxMDAwMzhaMIGSMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdk
bmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQ4wDAYDVQQL b25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UEChMHVGVuY2VudDEOMAwGA1UE
EwVNTVBheTEtMCsGA1UEAxQk5p2t5bee5Y2H6bmP54Wn5piO56eR5oqA5pyJ6ZmQ CxMFTU1QYXkxJzAlBgNVBAMUHuadreW3nui0pOiKr+enkeaKgOaciemZkOWFrOWP
5YWs5Y+4MREwDwYDVQQEEwgxNzQ2Nzc3MTCCASIwDQYJKoZIhvcNAQEBBQADggEP uDERMA8GA1UEBBMIMjc5MDI0MzAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
ADCCAQoCggEBALtVW5iih4ErzBrUkkU0GxmpJQxX+855sNPzGmMSM7aGFv5SVChh AoIBAQC+F/hyVGOyJOhfCiY26GmPAR9TXKshrYJvcRR9YA3eWR3rZpZv3giTi2xA
Je5bVpkEPEw0xelS6h/A8g1twQlZ/3lXYd3JQv0J2aK6yIZwTNbIQG1tjmZ432MF PfMEsM84euL9LlpojshUbuNaCiQDa6mPWWk/Husv8FozOKTkrd/wPjC/Igdi8JvM
OIDBFreKjH+mY2yKijR+9KIn9ZdCt/44gB7ww8ynXMzqMdLiW6hQtS3WVA7U8swd qXxubrDHpCPY2P2NNw0qqFdF1GmaTqe+4mTLQ+a8iSgVLAjs9cI+TNce9poh69aH
XFpl27+ydPNJkX4XkZsOXpZZKlUxgRP9vsd/BpE7nrtAXtmAVaD+0FmZpnPg1r5c tb4fEdCYUhbEkcptP4NItLHT3ghXe2zayR0oYmnB4dh8Wtuo1jlgfNEc4PsdsqKe
SpI7tmPDFBl0loW6Td03bzGYkwzKi++CI+f3S0IK+gI19TWxr9afubogu/+b468S l0WNOTmKPXBvR6/scKO+lRRojK3K1SKY1ZNHai2z5Xl9TQtjEyy/zjiRtDhyUFWq
YdIMQS6I2B3pSrDal+ZrjPFB9GsHnrMUJEcCAwEAAaOCAUYwggFCMAkGA1UdEwQC X7l6IpSjwkl0X6cnJ2LH/LPF9bQrAgMBAAGjggFGMIIBQjAJBgNVHRMEAjAAMCwG
MAAwLAYJYIZIAYb4QgENBB8WHSJDRVMtQ0EgR2VuZXJhdGUgQ2VydGlmaWNhdGUi CWCGSAGG+EIBDQQfFh0iQ0VTLUNBIEdlbmVyYXRlIENlcnRpZmljYXRlIjAdBgNV
MB0GA1UdDgQWBBTkus4vE+080GpWbHTXouCXH1CanzCBvwYDVR0jBIG3MIG0gBQ+ HQ4EFgQUh1bd51EIjvAOvU3clijvYpwBCFYwgb8GA1UdIwSBtzCBtIAUPgUm9iJi
BSb2ImK0FVuIzWR+sNRip+WGdKGBkKSBjTCBijELMAkGA1UEBhMCQ04xEjAQBgNV tBVbiM1kfrDUYqflhnShgZCkgY0wgYoxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlH
BAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNVBAoTB1RlbmNl dWFuZ2RvbmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQww
bnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEfMB0GCSqGSIb3 CgYDVQQLEwNXWEcxEzARBgNVBAMTCk1tcGF5bWNoQ0ExHzAdBgkqhkiG9w0BCQEW
DQEJARYQbW1wYXltY2hAdGVuY2VudIIJALtUlyu8AOhXMA4GA1UdDwEB/wQEAwIG EG1tcGF5bWNoQHRlbmNlbnSCCQC7VJcrvADoVzAOBgNVHQ8BAf8EBAMCBsAwFgYD
wDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOBgQBkX0J7 VR0lAQH/BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEAJr/FrHcMbN6X
+KkfALIp00dSk37GjSfN35/K4lr//c5XarTw++wQJL9o6teaXTblnRqr6q2xt1uB BCkJ/CBhd8TVE//cHaj1yZu9hJwwAkvkz81WfOv/XARP6fqGj5IPAmxx2dpufX/O
wvHUoYEmOCz/+7p8vpdcAWnOZP844Qwhxy+9iq471AaqCFtghgYhH0WtnBLUyYbu ZXej8QPQh/ygUCn8QcE8/OavvsKR3RmByM8iBE5bLm3mXf2dtp8aHCz4HhF2bh/H
KrpIsYBoqnGPPdFV7kXslKfhyOSkM/UnEX4/ug== pmzMIWf+afXJ0f9iHJmLVbNcitBxgVs=
-----END CERTIFICATE----- -----END CERTIFICATE-----
\ No newline at end of file
-----BEGIN PRIVATE KEY----- -----BEGIN PRIVATE KEY-----
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
ilF5miFrnMFnZuRr0I9kaqybeCU= tr7Vdsg9XxsthkOg2CnaXFI=
-----END PRIVATE KEY----- -----END PRIVATE KEY-----
\ No newline at end of file
...@@ -18,7 +18,7 @@ use Illuminate\Database\Capsule\Manager as Capsule; ...@@ -18,7 +18,7 @@ use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Events\Dispatcher; use Illuminate\Events\Dispatcher;
use Illuminate\Container\Container; use Illuminate\Container\Container;
$dotenv = new \Dotenv\Dotenv(__DIR__.'../'); $dotenv = new \Dotenv\Dotenv(__DIR__ . '/');
$dotenv->load(); $dotenv->load();
...@@ -339,12 +339,15 @@ try { ...@@ -339,12 +339,15 @@ try {
$stopCommand->setStopType(43); $stopCommand->setStopType(43);
} }
if ($gatewayType === 1 || $gatewayType === 4) { if ($gatewayType != 5) {
$send = new Send($stopCommand); $send = new Send($stopCommand);
} else { } else {
$iotDeviceId = $message['iot_device_id']; $nbDeviceId = Capsule::table('gateways')->where('id', $gatewayId)->first(['nb_device_id']);
$iotDeviceId = $nbDeviceId->nb_device_id;
$stopCommand->setClientUid($iotDeviceId); $stopCommand->setClientUid($iotDeviceId);
$stopCommand->setGatewayMac($iotDeviceId); $stopCommand->setGatewayMac($iotDeviceId);
......
...@@ -19,7 +19,7 @@ use Lib\redis\RedisSingle; ...@@ -19,7 +19,7 @@ use Lib\redis\RedisSingle;
use Lib\rabbit_mq\PublishPortShed; use Lib\rabbit_mq\PublishPortShed;
$dotenv = new \Dotenv\Dotenv(__DIR__ . '../'); $dotenv = new \Dotenv\Dotenv(__DIR__ . '/');
$dotenv->load(); $dotenv->load();
try { try {
...@@ -83,7 +83,7 @@ try { ...@@ -83,7 +83,7 @@ try {
$data = json_decode($envelope->getBody(), true); $data = json_decode($envelope->getBody(), true);
if (isset($data['order_id']) === false) { if ( isset($data['order_id']) === false ) {
$queue->ack($envelope->getDeliveryTag()); $queue->ack($envelope->getDeliveryTag());
return; return;
} }
...@@ -97,21 +97,21 @@ try { ...@@ -97,21 +97,21 @@ try {
$orderCache = $order->getOrderCache(RedisSingle::getRedis()); $orderCache = $order->getOrderCache(RedisSingle::getRedis());
if ($orderCache === false) { if ( $orderCache === false ) {
$queue->ack($envelope->getDeliveryTag()); $queue->ack($envelope->getDeliveryTag());
return; return;
} }
if (isset($orderCache['shedTime'])) { if ( isset($orderCache['shedTime']) ) {
if ($shedTime == $orderCache['shedTime']) { if ( $shedTime == $orderCache['shedTime'] ) {
if ($order->getStateCode() == 14) { if ( $order->getStateCode() == 14 ) {
$gatewayMac = $data['gateway_mac']; $gatewayMac = $data['gateway_mac'];
$stopCommand = new StopChargerCommand(); $stopCommand = new StopChargerCommand();
if ($order->getGatewayType() === 5) { if ( $order->getGatewayType() === 5 ) {
$stopCommand->setGatewayType($order->getGatewayType()); $stopCommand->setGatewayType($order->getGatewayType());
$stopCommand->setGatewayDeviceId($order->getGatewayDeviceId()); $stopCommand->setGatewayDeviceId($order->getGatewayDeviceId());
} }
...@@ -125,13 +125,32 @@ try { ...@@ -125,13 +125,32 @@ try {
$stopCommand->setClientUid($gatewayMac); $stopCommand->setClientUid($gatewayMac);
$send = new Send($stopCommand); $gatewayType = (int)$orderCache['gatewayType'];
if ($send->send() === false) { $gatewayId = $orderCache['gatewayId'];
if ( $gatewayType === 1 || $gatewayType === 4 || $gatewayType === 2 ) {
$send = new Send($stopCommand);
} else {
$nbDeviceId = Capsule::table('gateways')->where('id', $gatewayId)->first(['nb_device_id']);
$iotDeviceId = $nbDeviceId->nb_device_id;
$stopCommand->setClientUid($iotDeviceId);
$stopCommand->setGatewayMac($iotDeviceId);
$send = new \Lib\send\IotSend($stopCommand);
}
if ( $send->send() === false ) {
//三次检测 //三次检测
if ($data['check_times'] === 3) { if ( $data['check_times'] === 3 ) {
Capsule::table('gateway_log')->insert([ Capsule::table('gateway_log')->insert([
'gateway_id' => $order->getGatewayId(), 'gateway_id' => $order->getGatewayId(),
'station_id' => $data['station_id'], 'station_id' => $data['station_id'],
......
...@@ -11,10 +11,10 @@ use \Exception; ...@@ -11,10 +11,10 @@ use \Exception;
* For full copyright and license information, please see the MIT-LICENSE.txt * For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice. * Redistributions of files must retain the above copyright notice.
* *
* @author walkor<walkor@workerman.net> * @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net> * @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/ * @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License * @license http://www.opensource.org/licenses/mit-license.php MIT License
*/ */
/** /**
...@@ -38,7 +38,7 @@ class Gateway ...@@ -38,7 +38,7 @@ class Gateway
// public static $registerAddress = 'cdzregister.default.svc.cluster.local:1239'; // public static $registerAddress = 'cdzregister.default.svc.cluster.local:1239';
public static $registerAddress = '100.103.0.8:1239'; public static $registerAddress = '100.127.0.6:1239';
//public static $registerAddress = '127.0.0.1:1236'; //public static $registerAddress = '127.0.0.1:1236';
...@@ -63,10 +63,10 @@ class Gateway ...@@ -63,10 +63,10 @@ class Gateway
/** /**
* 向所有客户端连接(或者 client_id_array 指定的客户端连接)广播消息 * 向所有客户端连接(或者 client_id_array 指定的客户端连接)广播消息
* *
* @param string $message 向客户端发送的消息 * @param string $message 向客户端发送的消息
* @param array $client_id_array 客户端 id 数组 * @param array $client_id_array 客户端 id 数组
* @param array $exclude_client_id 不给这些client_id发 * @param array $exclude_client_id 不给这些client_id发
* @param bool $raw 是否发送原始数据(即不调用gateway的协议的encode方法) * @param bool $raw 是否发送原始数据(即不调用gateway的协议的encode方法)
* @return void * @return void
* @throws Exception * @throws Exception
*/ */
...@@ -147,7 +147,7 @@ class Gateway ...@@ -147,7 +147,7 @@ class Gateway
/** /**
* 向某个client_id对应的连接发消息 * 向某个client_id对应的连接发消息
* *
* @param int $client_id * @param int $client_id
* @param string $message * @param string $message
* @return void * @return void
*/ */
...@@ -799,7 +799,7 @@ class Gateway ...@@ -799,7 +799,7 @@ class Gateway
/** /**
* 踢掉某个客户端,并以$message通知被踢掉客户端 * 踢掉某个客户端,并以$message通知被踢掉客户端
* *
* @param int $client_id * @param int $client_id
* @param string $message * @param string $message
* @return void * @return void
*/ */
...@@ -873,7 +873,7 @@ class Gateway ...@@ -873,7 +873,7 @@ class Gateway
/** /**
* 将 client_id 与 uid 绑定 * 将 client_id 与 uid 绑定
* *
* @param int $client_id * @param int $client_id
* @param int|string $uid * @param int|string $uid
* @return void * @return void
*/ */
...@@ -885,7 +885,7 @@ class Gateway ...@@ -885,7 +885,7 @@ class Gateway
/** /**
* 将 client_id 与 uid 解除绑定 * 将 client_id 与 uid 解除绑定
* *
* @param int $client_id * @param int $client_id
* @param int|string $uid * @param int|string $uid
* @return void * @return void
*/ */
...@@ -897,7 +897,7 @@ class Gateway ...@@ -897,7 +897,7 @@ class Gateway
/** /**
* 将 client_id 加入组 * 将 client_id 加入组
* *
* @param int $client_id * @param int $client_id
* @param int|string $group * @param int|string $group
* @return void * @return void
*/ */
...@@ -910,7 +910,7 @@ class Gateway ...@@ -910,7 +910,7 @@ class Gateway
/** /**
* 将 client_id 离开组 * 将 client_id 离开组
* *
* @param int $client_id * @param int $client_id
* @param int|string $group * @param int|string $group
* *
* @return void * @return void
...@@ -943,7 +943,7 @@ class Gateway ...@@ -943,7 +943,7 @@ class Gateway
* 向所有 uid 发送 * 向所有 uid 发送
* *
* @param int|string|array $uid * @param int|string|array $uid
* @param string $message * @param string $message
* *
* @return void * @return void
*/ */
...@@ -965,10 +965,10 @@ class Gateway ...@@ -965,10 +965,10 @@ class Gateway
/** /**
* 向 group 发送 * 向 group 发送
* *
* @param int|string|array $group 组(不允许是 0 '0' false null array()等为空的值) * @param int|string|array $group 组(不允许是 0 '0' false null array()等为空的值)
* @param string $message 消息 * @param string $message 消息
* @param array $exclude_client_id 不给这些client_id发 * @param array $exclude_client_id 不给这些client_id发
* @param bool $raw 发送原始数据(即不调用gateway的协议的encode方法) * @param bool $raw 发送原始数据(即不调用gateway的协议的encode方法)
* *
* @return void * @return void
*/ */
...@@ -1029,7 +1029,7 @@ class Gateway ...@@ -1029,7 +1029,7 @@ class Gateway
/** /**
* 更新 session,框架自动调用,开发者不要调用 * 更新 session,框架自动调用,开发者不要调用
* *
* @param int $client_id * @param int $client_id
* @param string $session_str * @param string $session_str
* @return bool * @return bool
*/ */
...@@ -1041,7 +1041,7 @@ class Gateway ...@@ -1041,7 +1041,7 @@ class Gateway
/** /**
* 设置 session,原session值会被覆盖 * 设置 session,原session值会被覆盖
* *
* @param int $client_id * @param int $client_id
* @param array $session * @param array $session
* *
* @return void * @return void
...@@ -1058,7 +1058,7 @@ class Gateway ...@@ -1058,7 +1058,7 @@ class Gateway
/** /**
* 更新 session,实际上是与老的session合并 * 更新 session,实际上是与老的session合并
* *
* @param int $client_id * @param int $client_id
* @param array $session * @param array $session
* *
* @return void * @return void
...@@ -1099,8 +1099,8 @@ class Gateway ...@@ -1099,8 +1099,8 @@ class Gateway
/** /**
* 向某个用户网关发送命令和消息 * 向某个用户网关发送命令和消息
* *
* @param int $client_id * @param int $client_id
* @param int $cmd * @param int $cmd
* @param string $message * @param string $message
* @param string $ext_data * @param string $ext_data
* @return boolean * @return boolean
...@@ -1133,7 +1133,7 @@ class Gateway ...@@ -1133,7 +1133,7 @@ class Gateway
/** /**
* 发送数据并返回 * 发送数据并返回
* *
* @param int $address * @param int $address
* @param mixed $data * @param mixed $data
* @return bool * @return bool
* @throws Exception * @throws Exception
...@@ -1187,7 +1187,7 @@ class Gateway ...@@ -1187,7 +1187,7 @@ class Gateway
* 发送数据到网关 * 发送数据到网关
* *
* @param string $address * @param string $address
* @param array $gateway_data * @param array $gateway_data
* @return bool * @return bool
*/ */
protected static function sendToGateway($address, $gateway_data) protected static function sendToGateway($address, $gateway_data)
...@@ -1251,7 +1251,7 @@ class Gateway ...@@ -1251,7 +1251,7 @@ class Gateway
* 踢掉某个网关的 socket * 踢掉某个网关的 socket
* *
* @param string $address * @param string $address
* @param int $connection_id * @param int $connection_id
* @return bool * @return bool
*/ */
protected static function kickAddress($address, $connection_id, $message) protected static function kickAddress($address, $connection_id, $message)
...@@ -1267,7 +1267,7 @@ class Gateway ...@@ -1267,7 +1267,7 @@ class Gateway
* 销毁某个网关的 socket * 销毁某个网关的 socket
* *
* @param string $address * @param string $address
* @param int $connection_id * @param int $connection_id
* @return bool * @return bool
*/ */
protected static function destroyAddress($address, $connection_id) protected static function destroyAddress($address, $connection_id)
...@@ -1546,16 +1546,16 @@ class GatewayProtocol ...@@ -1546,16 +1546,16 @@ class GatewayProtocol
*/ */
const HEAD_LEN = 28; const HEAD_LEN = 28;
public static $empty = array( public static $empty = array(
'cmd' => 0, 'cmd' => 0,
'local_ip' => 0, 'local_ip' => 0,
'local_port' => 0, 'local_port' => 0,
'client_ip' => 0, 'client_ip' => 0,
'client_port' => 0, 'client_port' => 0,
'connection_id' => 0, 'connection_id' => 0,
'flag' => 0, 'flag' => 0,
'gateway_port' => 0, 'gateway_port' => 0,
'ext_data' => '', 'ext_data' => '',
'body' => '', 'body' => '',
); );
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment