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

reConnect 方法

void AsyncTcpConnection::reConnect(float $delay = 0)

(要求Workerman版本>=3.3.5)

重連。一般在onClose回調(diào)中調(diào)用,實現(xiàn)斷線重連。

由于網(wǎng)絡(luò)問題或者對方服務(wù)重啟等原因?qū)е逻B接斷開,則可以通過調(diào)用此方法實現(xiàn)重連。

參數(shù)

$delay

延遲多久后執(zhí)行重連。單位為秒,支持小數(shù),可精確到毫秒。

如果不傳或者值為0則代表立即重連。

最好傳遞參數(shù)讓重連延遲執(zhí)行,避免因為對端服務(wù)問題一直不可連導致本機cpu消耗過高。

返回值

無返回值

示例

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

$worker = new Worker();

$worker->onWorkerStart = function($worker)
{
    $con = new AsyncTcpConnection('ws://echo.websocket.org:80');
    $con->onConnect = function(AsyncTcpConnection $con) {
        $con->send('hello');
    };
    $con->onMessage = function(AsyncTcpConnection $con, $msg) {
        echo "recv $msg\n";
    };
    $con->onClose = function(AsyncTcpConnection $con) {
        // 如果連接斷開,則在1秒后重連
        $con->reConnect(1);
    };
    $con->connect();
};

Worker::runAll();

注意
調(diào)用reconnect成功重連后,$con的onConnect方法會再次被調(diào)用(如果有設(shè)置的話)。有時候我們想讓onConnect方法只執(zhí)行一次,重連的時候不再執(zhí)行,參考如下例子:

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

$worker = new Worker();

$worker->onWorkerStart = function($worker)
{
    $con = new AsyncTcpConnection('ws://echo.websocket.org:80');
    $con->onConnect = function(AsyncTcpConnection $con) {
        static $is_first_connect = true;
        if (!$is_first_connect) return;
        $is_first_connect = false;
        $con->send('hello');
    };
    $con->onMessage = function(AsyncTcpConnection $con, $msg) {
        echo "recv $msg\n";
    };
    $con->onClose = function(AsyncTcpConnection $con) {
        // 如果連接斷開,則在1秒后重連
        $con->reConnect(1);
    };
    $con->connect();
};

Worker::runAll();
編輯于2024-03-13 17:37:19 完善本頁 +發(fā)起討論
贊助商