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

pauseRecv的問題

salan

官方的demo:

use Workerman\Worker;
use Workerman\Timer;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onConnect = function(TcpConnection $connection)
{
    // 給connection對象動態(tài)添加一個屬性,用來保存當(dāng)前連接發(fā)來多少個請求
    $connection->messageCount = 0;
};
$worker->onMessage = function(TcpConnection $connection, $data)
{
    // 每個連接接收100個請求后就不再接收數(shù)據(jù)
    $limit = 100;
    if(++$connection->messageCount > $limit)
    {
        $connection->pauseRecv();
        // 30秒后恢復(fù)接收數(shù)據(jù)
        Timer::add(30, function($connection){
            $connection->resumeRecv();
        }, array($connection), false);
    }
};
// 運行worker
Worker::runAll();

經(jīng)測發(fā)現(xiàn)接受數(shù)據(jù)100次以后是每間隔30s接收一次數(shù)據(jù) 問題是出在timer上嗎
timer定時器放在onmessages()里是每次接受到數(shù)據(jù)都啟動一個定時器吧 這樣是不是有問題?

941 1 0
1個回答

xiuwang

為啥不格式化下代碼,眼睛都看花了?
這種問題很好定位吧,每次請求自己打印下limit,看下是多少。
你以為前端發(fā)了50次,沒準(zhǔn)發(fā)了100次

  • salan 2022-09-29

    代碼已格式化 謝謝 前端我是每兩秒請求一次的

  • xiuwang 2022-09-29

    每次請求打印下$connection->messageCount的值吧,應(yīng)該一下子就定位到了。
    $connection->messageCount > 100后,每個請求都會執(zhí)行pauseRecv() 都會添加定時器,感覺是有問題的。

年代過于久遠(yuǎn),無法發(fā)表回答
??