resumeRecv

설명:

void Connection::resumeRecv(void)

현재 연결이 데이터를 계속 수신하도록 합니다. 이 메서드는 Connection::pauseRecv와 함께 사용되며, 업로드 트래픽 제어에 매우 유용합니다.

매개변수

매개변수 없음

예제

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 객체에 동적으로 속성을 추가하여 현재 연결이 얼마나 많은 요청을 보냈는지 저장
    $connection->messageCount = 0;
};
$worker->onMessage = function(TcpConnection $connection, $data)
{
    // 각 연결이 100개의 요청을 수신한 후에는 더 이상 데이터를 수신하지 않음
    $limit = 100;
    if(++$connection->messageCount > $limit)
    {
        $connection->pauseRecv();
        // 30초 후에 데이터 수신을 재개
        Timer::add(30, function($connection){
            $connection->resumeRecv();
        }, array($connection), false);
    }
};
// worker 실행
Worker::runAll();

참조

void Connection::pauseRecv(void) 해당 연결 객체가 데이터 수신을 중지합니다.