国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

workerman發(fā)送請(qǐng)求后,客戶(hù)端持續(xù)收到請(qǐng)求

mljun

問(wèn)題描述

物聯(lián)網(wǎng)卡+盒子,服務(wù)器發(fā)起盒子投幣請(qǐng)求,但機(jī)臺(tái)幣數(shù)一直增加

程序代碼或配置

截圖
截圖
config.php:

return [
    // 注冊(cè)服務(wù)配置
    'register' => [
        // 注冊(cè)服務(wù)地址,用于gateway及business服務(wù)注冊(cè) (必須)
        'address'   => '127.0.0.1:1256',
        // 網(wǎng)關(guān)服務(wù)線程名稱(chēng),status方便查看
        'name'      => 'RegisterWorker',
        // register服務(wù)秘鑰
        'secretKey' => '',
    ],
    // gateway服務(wù)配置
    'gateway'  => [
        // gateway監(jiān)聽(tīng)地址,用于客戶(hù)端連接 (必須)
        'socket'               => 'tcp://0.0.0.0:1220',
        // 網(wǎng)關(guān)服務(wù)線程名稱(chēng),status方便查看
        'name'                 => 'GatewayWorker',
        // gateway進(jìn)程數(shù)
        'count'                => 4,
        // 本機(jī)ip,分布式部署時(shí)使用內(nèi)網(wǎng)ip,用于與business內(nèi)部通訊
        'lanIp'                => '127.0.0.1',
        // 內(nèi)部通訊起始端口,每個(gè) gateway 實(shí)例應(yīng)該都不同,假如$gateway->count=4,起始端口為4000        則一般會(huì)使用4000 4001 4002 4003 4個(gè)端口作為內(nèi)部通訊端口
        'startPort'            => 2900,
        // 是否可以平滑重啟,gateway 不能平滑重啟,否則會(huì)導(dǎo)致連接斷開(kāi)
//        'reloadable'           => false,
        // 心跳時(shí)間間隔,設(shè)為0則表示不檢測(cè)心跳
        'pingInterval'         => 25,
        // $gatewayPingNotResponseLimit * $gatewayPingInterval 時(shí)間內(nèi),客戶(hù)端未發(fā)送任何數(shù)據(jù),斷開(kāi)客戶(hù)端連接 (設(shè)為0表示不監(jiān)聽(tīng)客戶(hù)端返回?cái)?shù)據(jù))
        'pingNotResponseLimit' => 2,
        // 服務(wù)端向客戶(hù)端發(fā)送的心跳數(shù)據(jù),為空不給客戶(hù)端發(fā)送心跳數(shù)據(jù)
        'pingData'             => hex2bin('0a241a0081150716152a2A0000000000000000000000008a0d0a'),
        // gateway服務(wù)秘鑰
        'secretKey'            => '',
    ],
    // business服務(wù)配置
    'business' => [
        // business服務(wù)名稱(chēng),status方便查看
        'name'                  => 'BusinessWorker',
        // business進(jìn)程數(shù)
        'count'                 => 4,
        // 業(yè)務(wù)服務(wù)事件處理
        'eventHandler'          => 'app\worker\starter\Events',
        // 業(yè)務(wù)超時(shí)時(shí)間,可用來(lái)定位程序卡在哪里
        'processTimeout'        => 30,
        // 業(yè)務(wù)超時(shí)后的回調(diào),可用來(lái)記錄日志
        'processTimeoutHandler' => '\\Workerman\\Worker::log',
        // 業(yè)務(wù)服務(wù)秘鑰
        'secretKey'             => '',
        // 是否允許多進(jìn)程監(jiān)聽(tīng)同一端口, php7才支持
        'reusePort'             => true,
    ],
];

start_gateway.php

// 檢查擴(kuò)展是否加載
Utils::checkExtension();

$config = require __DIR__ . '/config.php';
$registerConfig = $config['register'];
$gatewayConfig = $config['gateway'];

// gateway 進(jìn)程,使用配置的值
$gateway = new Gateway($gatewayConfig['socket']);
// 給注冊(cè)服務(wù)屬性賦值 (只賦值支持的屬性)
foreach (['name', 'count', 'lanIp', 'startPort', 'pingInterval', 'pingNotResponseLimit', 'pingData', 'secretKey'] as $key) {
    isset($gatewayConfig[$key]) && $gateway->$key = $gatewayConfig[$key];
}
// 服務(wù)注冊(cè)地址
$gateway->registerAddress = $registerConfig['address'];

// 當(dāng)客戶(hù)端連接上來(lái)時(shí),設(shè)置連接的onWebSocketConnect,即在websocket握手時(shí)的回調(diào)
$gateway->onConnect = function($connection)
{
    $connection->onWebSocketConnect = function($connection , $data)
    {
        // 可以在這里判斷連接來(lái)源是否合法,不合法就關(guān)掉連接
        // $_SERVER['HTTP_ORIGIN']標(biāo)識(shí)來(lái)自哪個(gè)站點(diǎn)的頁(yè)面發(fā)起的websocket鏈接
//        if($_SERVER['HTTP_ORIGIN'] != 'http://kedou.workerman.net')
//        {
//            $connection->close();
//        }
        // onWebSocketConnect 里面$_GET $_SERVER是可用的
        $connection->send(hex2bin('00'));
    };
};

// 如果不是在根目錄啟動(dòng),則運(yùn)行runAll方法
if(!defined('GLOBAL_START')) {
    Worker::runAll();
}

截圖

截圖

發(fā)幣腳本:
截圖

重現(xiàn)問(wèn)題的步驟

盒子連接成功、偶爾斷開(kāi)連接
發(fā)幣腳本執(zhí)行后機(jī)臺(tái)幣量一直增加不停

操作系統(tǒng)環(huán)境及workerman/webman等具體版本

linunx gateway

1122 1 0
1個(gè)回答

法師

業(yè)務(wù)bug需要自己排查,別人沒(méi)環(huán)境沒(méi)代碼的沒(méi)辦法猜到哪里有問(wèn)題

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??