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

windows系統(tǒng)下,兩個work之間通信問題

加把勁

問題描述

windows系統(tǒng)下,兩個work之間通信問題,目前awork和a客戶端通信沒問題,bwork和b客戶端通信沒問題
求解答

程序代碼

//awork
$ws = new Worker("websocket://0000:2346");
define('Heartbeat',55);
$ws->count = 1;
$ws->uidConnections = array();
$ws->onWorkerStart = function ($ws){
//設(shè)置一個 間隔 1秒的定時
    Timer::add(1,function ()use($ws){
        $time_now = time();
        foreach($ws->connections as $connection) {
            if (empty($connection->lastMessageTime)) {
                $connection->lastMessageTime = $time_now;
                continue;
            }
            if ($time_now - $connection->lastMessageTime > Heartbeat) {
                $connection->close();
            }
        }

    });
    $text_worker = new Worker('Text://0000:5656');
    $ws->textWorker = $text_worker;
    $text_worker->listen();
};
$ws->onMessage = function($connection, $data)
{
    global $ws;
    $connection->lastMessageTime = time();
    if(!isset($connection->uid))
    {
        if(intval($data))
        {
            $connection->uid = $data;
            echo $connection->uid."已上線\n";
            $ws->uidConnections[$connection->uid] = $connection;
        }else{
            echo  $connection->uid.$data;
        }
        return ;
    }else{
        $sid= $connection->uid;
        $con = new mysqli($server, $db_username, $db_password,$db_name);
        $stm  = $con->prepare('select m.id 
                from manage m where m.aid=?
                ;');
        $stm->bind_param('s', $sid);
        $stm->execute();
        $result = $stm ->get_result();
        if (mysqli_num_rows($result) >0) {
            while ($row = mysqli_fetch_assoc($result)){
                $mid=$row["id"];
            }
        }
        echo $mid;//這里有數(shù)據(jù),下面報錯
        global $text_worker;
        $text_worker->onMessage = function($connection, $mid)
        {
            $connection->send($mid);
            echo $mid;
        };
    }
};
//bwork
$ws2->onMessage = function($connection, $data)
{
    global $ws2;
    $connection->lastMessageTime = time();
    if(!isset($connection->mid))
    {
        if(intval($data))
        {
            $connection->mid = $data;
            echo $connection->mid."已上線\n";
            $ws2->midConnections[$connection->mid] = $connection;
        }else{
            echo  $connection->mid.$data;
        }
        return ;
    }else{
        $buffer= $connection->mid;
        echo  $connection->mid.$data;
        $client = stream_socket_client("tcp://0000:5656");
// text 協(xié)議為字符串末尾加一個換行符 \n
        echo $data;
        fwrite($client, $data."\n");
    }

};

報錯信息

 Attempt to assign property "onMessage" on null i
612 1 0
1個回答

walkor 打賞

$ws2 沒定義

  • 加把勁 2024-07-12

    感謝。感覺錯誤比較多。今天仔細查看了文檔。研究gatewaywork中。。。

??