Commit a8a935dc by 杨苏杭

暂存版本

parent 7aef18dc
No preview for this file type
......@@ -235,13 +235,14 @@ class ChangePortController extends Controller
//记录修改端口异常表
DB::table('wx_charger_orders')->where('id', $orderId)->update([
'port_id' => $request->get('new_port_id'),
'logic_num' => $newLogicNum,
'port_name' => $request->get('new_port_name'),
'gateway_id' => $newGatewayId,
'change_times' => DB::raw('change_times + 1'),
'start_time' => null,
'is_charger' => -1,
'port_id' => $request->get('new_port_id'),
'logic_num' => $newLogicNum,
'port_name' => $request->get('new_port_name'),
'gateway_id' => $newGatewayId,
'change_times' => DB::raw('change_times + 1'),
'start_time' => null,
'is_charger' => -1,
'start_capacity' => -1,
]);
......
......@@ -9,6 +9,8 @@
namespace App\Http\Controllers\V1\Update;
use App\Http\Controllers\Controller;
use App\Model\GatewayModel;
use GuzzleHttp\Client;
use Illuminate\Http\Request;
use Lib\send\command\UpdateCommand;
use Lib\send\Send;
......@@ -31,8 +33,6 @@ class UpdateController extends Controller
'sign' => 'required',
]);
Log::debug($request->all());
if ($validator->fails() === true) {
abort(400, $validator->errors()->first());
......@@ -42,28 +42,67 @@ class UpdateController extends Controller
$updateTime = substr($updateTime, 0, 10);
}
Log::debug($request->all());
$gatewayMac = $request->get('gateway_mac');
$downloadUrl = $request->get('download_url');
$hardwareVersion = $request->get('hardware');
$softwareVersion = $request->get('software');
$updateCommand = new UpdateCommand($gatewayMac);
$updateCommand->setSoftware($softwareVersion);
$updateCommand->setHardware($hardwareVersion);
$updateCommand->setDownloadUrl($downloadUrl);
$updateCommand->setUpdateTime($updateTime);
$updateCommand->setSign($request->get('sign'));
$gatewayModel = GatewayModel::where('mac_address', $gatewayMac)->first(['type_id', 'nb_device_id']);
if ($gatewayModel->type_id === 5) {
$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 {
$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
public function upload(Request $request)
{
Log::debug($request->all());
$validator = Validator::make($request->all(), [
'hardware' => 'required',
'software' => 'required',
......
......@@ -13,7 +13,8 @@
"tymon/jwt-auth": "1.0.*@dev",
"guzzlehttp/guzzle": "^6.3",
"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": {
"fzaninotto/faker": "~1.4",
......
......@@ -35,7 +35,7 @@ class Gateway
*/
// 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';
......
......@@ -41,7 +41,7 @@ class IotClient
'app_key' => env('IOT_APP_ID'),
'Authorization' => 'Bearer ' . AccessToken::getAccessTokenCache(),
];
if ($this->request->isJson() === true) {
if ( $this->request->isJson() === true ) {
$this->headers['Content-Type'] = 'application/json';
}
......@@ -60,16 +60,16 @@ class IotClient
$request = [
'verify' => false,
'cert' => [
config('iot.cert_path'),
__DIR__ . '../../../storage/cert/key.pem',
'IoM@1234',
]
];
if (filled($this->headers) === true) {
if ( filled($this->headers) === true ) {
$request['headers'] = $this->headers;
}
if ($this->request->isJson() === false) {
if ( $this->request->isJson() === false ) {
$request['form_params'] = $this->request->getFormData();
$this->response = $client->request($this->request->getMethod(), config('iot.host') . $this->request->getUrl(), $request);
} else {
......
-----BEGIN CERTIFICATE-----
MIIEaDCCA9GgAwIBAgIDdYNiMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYDVQQGEwJD
TjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UE
ChMHVGVuY2VudDEMMAoGA1UECxMDV1hHMRMwEQYDVQQDEwpNbXBheW1jaENBMR8w
HQYJKoZIhvcNAQkBFhBtbXBheW1jaEB0ZW5jZW50MB4XDTE3MDEwNDA1MDAxMVoX
DTI3MDEwMjA1MDAxMVowgZgxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rv
bmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQ4wDAYDVQQL
EwVNTVBheTEtMCsGA1UEAxQk5p2t5bee5Y2H6bmP54Wn5piO56eR5oqA5pyJ6ZmQ
5YWs5Y+4MREwDwYDVQQEEwgxNzQ2Nzc3MTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBALtVW5iih4ErzBrUkkU0GxmpJQxX+855sNPzGmMSM7aGFv5SVChh
Je5bVpkEPEw0xelS6h/A8g1twQlZ/3lXYd3JQv0J2aK6yIZwTNbIQG1tjmZ432MF
OIDBFreKjH+mY2yKijR+9KIn9ZdCt/44gB7ww8ynXMzqMdLiW6hQtS3WVA7U8swd
XFpl27+ydPNJkX4XkZsOXpZZKlUxgRP9vsd/BpE7nrtAXtmAVaD+0FmZpnPg1r5c
SpI7tmPDFBl0loW6Td03bzGYkwzKi++CI+f3S0IK+gI19TWxr9afubogu/+b468S
YdIMQS6I2B3pSrDal+ZrjPFB9GsHnrMUJEcCAwEAAaOCAUYwggFCMAkGA1UdEwQC
MAAwLAYJYIZIAYb4QgENBB8WHSJDRVMtQ0EgR2VuZXJhdGUgQ2VydGlmaWNhdGUi
MB0GA1UdDgQWBBTkus4vE+080GpWbHTXouCXH1CanzCBvwYDVR0jBIG3MIG0gBQ+
BSb2ImK0FVuIzWR+sNRip+WGdKGBkKSBjTCBijELMAkGA1UEBhMCQ04xEjAQBgNV
BAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNVBAoTB1RlbmNl
bnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEfMB0GCSqGSIb3
DQEJARYQbW1wYXltY2hAdGVuY2VudIIJALtUlyu8AOhXMA4GA1UdDwEB/wQEAwIG
wDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOBgQBkX0J7
+KkfALIp00dSk37GjSfN35/K4lr//c5XarTw++wQJL9o6teaXTblnRqr6q2xt1uB
wvHUoYEmOCz/+7p8vpdcAWnOZP844Qwhxy+9iq471AaqCFtghgYhH0WtnBLUyYbu
KrpIsYBoqnGPPdFV7kXslKfhyOSkM/UnEX4/ug==
MIIEYzCCA8ygAwIBAgIEAQ/xYjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC
Q04xEjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNV
BAoTB1RlbmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEf
MB0GCSqGSIb3DQEJARYQbW1wYXltY2hAdGVuY2VudDAeFw0xNzA1MTgxMDAwMzha
Fw0yNzA1MTYxMDAwMzhaMIGSMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdk
b25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UEChMHVGVuY2VudDEOMAwGA1UE
CxMFTU1QYXkxJzAlBgNVBAMUHuadreW3nui0pOiKr+enkeaKgOaciemZkOWFrOWP
uDERMA8GA1UEBBMIMjc5MDI0MzAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC+F/hyVGOyJOhfCiY26GmPAR9TXKshrYJvcRR9YA3eWR3rZpZv3giTi2xA
PfMEsM84euL9LlpojshUbuNaCiQDa6mPWWk/Husv8FozOKTkrd/wPjC/Igdi8JvM
qXxubrDHpCPY2P2NNw0qqFdF1GmaTqe+4mTLQ+a8iSgVLAjs9cI+TNce9poh69aH
tb4fEdCYUhbEkcptP4NItLHT3ghXe2zayR0oYmnB4dh8Wtuo1jlgfNEc4PsdsqKe
l0WNOTmKPXBvR6/scKO+lRRojK3K1SKY1ZNHai2z5Xl9TQtjEyy/zjiRtDhyUFWq
X7l6IpSjwkl0X6cnJ2LH/LPF9bQrAgMBAAGjggFGMIIBQjAJBgNVHRMEAjAAMCwG
CWCGSAGG+EIBDQQfFh0iQ0VTLUNBIEdlbmVyYXRlIENlcnRpZmljYXRlIjAdBgNV
HQ4EFgQUh1bd51EIjvAOvU3clijvYpwBCFYwgb8GA1UdIwSBtzCBtIAUPgUm9iJi
tBVbiM1kfrDUYqflhnShgZCkgY0wgYoxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlH
dWFuZ2RvbmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQww
CgYDVQQLEwNXWEcxEzARBgNVBAMTCk1tcGF5bWNoQ0ExHzAdBgkqhkiG9w0BCQEW
EG1tcGF5bWNoQHRlbmNlbnSCCQC7VJcrvADoVzAOBgNVHQ8BAf8EBAMCBsAwFgYD
VR0lAQH/BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEAJr/FrHcMbN6X
BCkJ/CBhd8TVE//cHaj1yZu9hJwwAkvkz81WfOv/XARP6fqGj5IPAmxx2dpufX/O
ZXej8QPQh/ygUCn8QcE8/OavvsKR3RmByM8iBE5bLm3mXf2dtp8aHCz4HhF2bh/H
pmzMIWf+afXJ0f9iHJmLVbNcitBxgVs=
-----END CERTIFICATE-----
\ No newline at end of file
-----BEGIN PRIVATE KEY-----
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQC7VVuYooeBK8wa
1JJFNBsZqSUMV/vOebDT8xpjEjO2hhb+UlQoYSXuW1aZBDxMNMXpUuofwPINbcEJ
Wf95V2HdyUL9CdmiusiGcEzWyEBtbY5meN9jBTiAwRa3iox/pmNsioo0fvSiJ/WX
Qrf+OIAe8MPMp1zM6jHS4luoULUt1lQO1PLMHVxaZdu/snTzSZF+F5GbDl6WWSpV
MYET/b7HfwaRO567QF7ZgFWg/tBZmaZz4Na+XEqSO7ZjwxQZdJaFuk3dN28xmJMM
yovvgiPn90tCCvoCNfU1sa/Wn7m6ILv/m+OvEmHSDEEuiNgd6Uqw2pfma4zxQfRr
B56zFCRHAgMBAAECggEBAIkbmiSGoCJ8SbBBcKTR1Bvd3k3Af33JNxCJVwC3q72l
OmL9IrdDEx33H9RycydbYJa6pryC3SXS9HvBsOfAetJ2oV7NvMoLZwRuYO66Nd1h
V93MDcNNaONjbxr6foZW42Hnq+tsF+Qu1uLUZBHejHcYxFWfEJ6xsbGlFmyEVXar
rNpuI6ou2XzuyJJblkYKlBBxKP9cgQSQTS2GRKy/UUCGub04K3KI1XU81JaB7tVT
jUWh9tWQYRFXV5eu4WFuXX1gc1Dlx/EAx5d7pnWdasgiTtV75IrK/7Q6MVksZbfV
dxVc6SOU0UPAl++nes0XDdS+Kl3CkTh/t7YZRHCg22ECgYEA3SHQ6D5exlWhUGE+
nRTOjRPpTtF+Q69voNKRG7Ol9BsObGwJymixzVuOnKSmAZTUWxa059+Hdng0e38/
4wCVQgjqrQXCqPHtvJzgonBAmPR5nnxxYnRCaQLfgWGq5rtcx/bvBlniWkU01qJl
OKBGikSgnre7Nrp1EmliY8UKWh8CgYEA2N865URTC4AV7WfYUP3TgYsVM2crqJi/
nu8yc00AU7tEN59Z2qt+OeNhP3PXlA281lNNUc/3Y2eYfZngMM6qoF87q0uQhd5F
luRfo3IxAZu1/2Q5zSVpEXhq46UDWNlIK4ZXzIohy9XizqjgliBdeJNbsrCvbJpX
2XfQiFx6QNkCgYEAyRU2DeqhbkNx1FEJiffgt8MydjzkT5JZtOmlkIY1U5vC6u73
nDrF7FLkhSbn2ipHTKmCShQm76DxQJf/NWJTV+AZ3sqNL+oHYGtbjfr7kttFOMw6
oufLeAhnzBRPP0+DWEcBJkpYHfQuzzqPRwXf/13WnV2//U1ipiJ0mPsVpcsCgYEA
zGqVK/cbw7JGeNCyD51A2FENebccar0XmSpjRlTlIwdXhIo5+qg8wTm2t0VshMvy
G57HOX8p8tN546G/tKGIKMO7DXmbTuM0esbl8ry2vopToNeKt/g0MdhsAAjQv9WG
digZ59yngGcpcpuxnTACip1zCFoL7/UHKx8JOw7X2PkCgYEAnSVpbHRWB5YF9dbG
HN/DZ3QQl3UUHnZLqv8a0Rns6MZaFkATu7OfxxnARaUu6xqHIHUcGDF2rLJAOSC6
3sryunVllgap6/9LcjPIIQYF4fzAq3YG7a7hhbotXFC+2zCkZ6rXbNMN6LnY9HiN
ilF5miFrnMFnZuRr0I9kaqybeCU=
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+F/hyVGOyJOhf
CiY26GmPAR9TXKshrYJvcRR9YA3eWR3rZpZv3giTi2xAPfMEsM84euL9LlpojshU
buNaCiQDa6mPWWk/Husv8FozOKTkrd/wPjC/Igdi8JvMqXxubrDHpCPY2P2NNw0q
qFdF1GmaTqe+4mTLQ+a8iSgVLAjs9cI+TNce9poh69aHtb4fEdCYUhbEkcptP4NI
tLHT3ghXe2zayR0oYmnB4dh8Wtuo1jlgfNEc4PsdsqKel0WNOTmKPXBvR6/scKO+
lRRojK3K1SKY1ZNHai2z5Xl9TQtjEyy/zjiRtDhyUFWqX7l6IpSjwkl0X6cnJ2LH
/LPF9bQrAgMBAAECggEBAJOlnKR4pYLdpdsD0BC/zhVz4rfl90nOMcyLQUXsUHlO
MK4BXYGALJslJKx1MYeIKTuOPzY1RaWGmVTzWAU8cSJzAh1EbjnHsxbmEblNGs4/
uvsn4sbiEGipx+lcDzjbItW9yNYKHE4N310tqbOkO23N//6Ea5NxpwrzYT2omToq
hbPTnyYr6eOZlB42qv8n7ToUAJqp7yd9tPGSmGWjikgVmjZBLvss2KUfSYmNigON
hpQibLXkl+7wN8eEe1jEIT5tnJmfQuN/CDnAuRjzQlB3+7RGC306dLqLZrhQqHsf
N/owFIyUzcgx38EbVqc9lzB1/9vMmYgeW+hUwrv6xIkCgYEA4WHOeq08yDrT4GVR
F+stQ9UpnuydJJruM26DRA0pls2d6rhZyMhMsQua4M6jA1RmPJgb9XPxsniYJ6n4
fc3FJMRqLjJxMRo+cf1rebszqDEkXbFqMqye19LlvMBAALxIi0upFdi0Njzng28W
8eCNhUSqP1nRq1Rt1n2dT7Qnru8CgYEA1+rs+ldY98J+c9B+gM6BSYHWiNGXTqTL
U9le4KqeA4hEPifo35su++Wba0j1UZznthWWEUY5wGl6D6eJasHYTW25kxm9brV1
s8zLlaZM0dyRI8sKhEUq+G6Mp0Kjk2p8/Bo8/YYIWaafdqPvlqh7g8Qxxarx5Ye9
iTgg4gqlToUCgYBTCcgbZsxoMVRy7qFMILfSsCzfgun63KI6jNMMNZVHHIa8PiPG
WBX5fP8ZKMjipyvr01cpvggk602T/4mwQCoMe9lrH+aYYsTzFp2Mgi5sH374ji9E
cFktx2QhgOuT2csYl0264Na0zQe3Yyye/U7m9P+My7j2WOsHBcz52rRsPQKBgBHi
5zCxza/wj7MeYWxgLvuc4t3Apw0fv6w5hI+N8rsOLcEMY1EqtNCvK5nOmGvjWJqP
3TefHqee1Tq4wTxzxGxdm5Lg/f1O0OpNG8xQ02pLIEbbygo9BJtB5Srx7UUH/ESS
E91YnhZ3JBya5f0QBfNbbFgYmiNOhFf6q1auVRVVAoGAOnaj/hNeFZuiXPclZCvm
iiJMk7vfdAOU44GxyhRWTByE0YiCzFiBUI6dmY4A+FYW5wVg2wp44JXtqBs4gMBz
2ypfJ+pQRF1sCZNvnKSGMa8Rr7LSKuWqtQ78arqHBGXzTV7hJt1Ex7/JRBFYZ7kZ
tr7Vdsg9XxsthkOg2CnaXFI=
-----END PRIVATE KEY-----
\ No newline at end of file
......@@ -18,7 +18,7 @@ use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Events\Dispatcher;
use Illuminate\Container\Container;
$dotenv = new \Dotenv\Dotenv(__DIR__.'../');
$dotenv = new \Dotenv\Dotenv(__DIR__ . '/');
$dotenv->load();
......@@ -339,12 +339,15 @@ try {
$stopCommand->setStopType(43);
}
if ($gatewayType === 1 || $gatewayType === 4) {
if ($gatewayType != 5) {
$send = new Send($stopCommand);
} 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->setGatewayMac($iotDeviceId);
......
......@@ -19,7 +19,7 @@ use Lib\redis\RedisSingle;
use Lib\rabbit_mq\PublishPortShed;
$dotenv = new \Dotenv\Dotenv(__DIR__ . '../');
$dotenv = new \Dotenv\Dotenv(__DIR__ . '/');
$dotenv->load();
try {
......@@ -83,7 +83,7 @@ try {
$data = json_decode($envelope->getBody(), true);
if (isset($data['order_id']) === false) {
if ( isset($data['order_id']) === false ) {
$queue->ack($envelope->getDeliveryTag());
return;
}
......@@ -97,21 +97,21 @@ try {
$orderCache = $order->getOrderCache(RedisSingle::getRedis());
if ($orderCache === false) {
if ( $orderCache === false ) {
$queue->ack($envelope->getDeliveryTag());
return;
}
if (isset($orderCache['shedTime'])) {
if ($shedTime == $orderCache['shedTime']) {
if ($order->getStateCode() == 14) {
if ( isset($orderCache['shedTime']) ) {
if ( $shedTime == $orderCache['shedTime'] ) {
if ( $order->getStateCode() == 14 ) {
$gatewayMac = $data['gateway_mac'];
$stopCommand = new StopChargerCommand();
if ($order->getGatewayType() === 5) {
if ( $order->getGatewayType() === 5 ) {
$stopCommand->setGatewayType($order->getGatewayType());
$stopCommand->setGatewayDeviceId($order->getGatewayDeviceId());
}
......@@ -125,13 +125,32 @@ try {
$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([
'gateway_id' => $order->getGatewayId(),
'station_id' => $data['station_id'],
......
......@@ -11,10 +11,10 @@ use \Exception;
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
/**
......@@ -38,7 +38,7 @@ class Gateway
// 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';
......@@ -63,10 +63,10 @@ class Gateway
/**
* 向所有客户端连接(或者 client_id_array 指定的客户端连接)广播消息
*
* @param string $message 向客户端发送的消息
* @param array $client_id_array 客户端 id 数组
* @param array $exclude_client_id 不给这些client_id发
* @param bool $raw 是否发送原始数据(即不调用gateway的协议的encode方法)
* @param string $message 向客户端发送的消息
* @param array $client_id_array 客户端 id 数组
* @param array $exclude_client_id 不给这些client_id发
* @param bool $raw 是否发送原始数据(即不调用gateway的协议的encode方法)
* @return void
* @throws Exception
*/
......@@ -147,7 +147,7 @@ class Gateway
/**
* 向某个client_id对应的连接发消息
*
* @param int $client_id
* @param int $client_id
* @param string $message
* @return void
*/
......@@ -799,7 +799,7 @@ class Gateway
/**
* 踢掉某个客户端,并以$message通知被踢掉客户端
*
* @param int $client_id
* @param int $client_id
* @param string $message
* @return void
*/
......@@ -873,7 +873,7 @@ class Gateway
/**
* 将 client_id 与 uid 绑定
*
* @param int $client_id
* @param int $client_id
* @param int|string $uid
* @return void
*/
......@@ -885,7 +885,7 @@ class Gateway
/**
* 将 client_id 与 uid 解除绑定
*
* @param int $client_id
* @param int $client_id
* @param int|string $uid
* @return void
*/
......@@ -897,7 +897,7 @@ class Gateway
/**
* 将 client_id 加入组
*
* @param int $client_id
* @param int $client_id
* @param int|string $group
* @return void
*/
......@@ -910,7 +910,7 @@ class Gateway
/**
* 将 client_id 离开组
*
* @param int $client_id
* @param int $client_id
* @param int|string $group
*
* @return void
......@@ -943,7 +943,7 @@ class Gateway
* 向所有 uid 发送
*
* @param int|string|array $uid
* @param string $message
* @param string $message
*
* @return void
*/
......@@ -965,10 +965,10 @@ class Gateway
/**
* 向 group 发送
*
* @param int|string|array $group 组(不允许是 0 '0' false null array()等为空的值)
* @param string $message 消息
* @param array $exclude_client_id 不给这些client_id发
* @param bool $raw 发送原始数据(即不调用gateway的协议的encode方法)
* @param int|string|array $group 组(不允许是 0 '0' false null array()等为空的值)
* @param string $message 消息
* @param array $exclude_client_id 不给这些client_id发
* @param bool $raw 发送原始数据(即不调用gateway的协议的encode方法)
*
* @return void
*/
......@@ -1029,7 +1029,7 @@ class Gateway
/**
* 更新 session,框架自动调用,开发者不要调用
*
* @param int $client_id
* @param int $client_id
* @param string $session_str
* @return bool
*/
......@@ -1041,7 +1041,7 @@ class Gateway
/**
* 设置 session,原session值会被覆盖
*
* @param int $client_id
* @param int $client_id
* @param array $session
*
* @return void
......@@ -1058,7 +1058,7 @@ class Gateway
/**
* 更新 session,实际上是与老的session合并
*
* @param int $client_id
* @param int $client_id
* @param array $session
*
* @return void
......@@ -1099,8 +1099,8 @@ class Gateway
/**
* 向某个用户网关发送命令和消息
*
* @param int $client_id
* @param int $cmd
* @param int $client_id
* @param int $cmd
* @param string $message
* @param string $ext_data
* @return boolean
......@@ -1133,7 +1133,7 @@ class Gateway
/**
* 发送数据并返回
*
* @param int $address
* @param int $address
* @param mixed $data
* @return bool
* @throws Exception
......@@ -1187,7 +1187,7 @@ class Gateway
* 发送数据到网关
*
* @param string $address
* @param array $gateway_data
* @param array $gateway_data
* @return bool
*/
protected static function sendToGateway($address, $gateway_data)
......@@ -1251,7 +1251,7 @@ class Gateway
* 踢掉某个网关的 socket
*
* @param string $address
* @param int $connection_id
* @param int $connection_id
* @return bool
*/
protected static function kickAddress($address, $connection_id, $message)
......@@ -1267,7 +1267,7 @@ class Gateway
* 销毁某个网关的 socket
*
* @param string $address
* @param int $connection_id
* @param int $connection_id
* @return bool
*/
protected static function destroyAddress($address, $connection_id)
......@@ -1546,16 +1546,16 @@ class GatewayProtocol
*/
const HEAD_LEN = 28;
public static $empty = array(
'cmd' => 0,
'local_ip' => 0,
'local_port' => 0,
'client_ip' => 0,
'client_port' => 0,
'cmd' => 0,
'local_ip' => 0,
'local_port' => 0,
'client_ip' => 0,
'client_port' => 0,
'connection_id' => 0,
'flag' => 0,
'gateway_port' => 0,
'ext_data' => '',
'body' => '',
'flag' => 0,
'gateway_port' => 0,
'ext_data' => '',
'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