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

是不是必須要在Worker onXXX事件回調(diào)方法里才能新建立連接?

zhouaini528

我的業(yè)務(wù)是用WS作為client端,我想在一個(gè)進(jìn)程進(jìn)行上成百上千的WS client連接, 但是這種連接是動(dòng)態(tài)生成連接。根據(jù)文檔案例如下代碼:

$worker = new Worker();
$worker->onWorkerStart = function()
{
$con = new AsyncTcpConnection("ws://echo.websocket.org:80");

如果我想再主動(dòng)連接一個(gè)WS。我的做法就是
$worker->onWorkerStart = function()
{
$con1 = new AsyncTcpConnection("ws://echo.websocket.org:80");
$con2 = new AsyncTcpConnection("ws://echo.websocket.org:80");

如果成百上千的主動(dòng)連接,我的構(gòu)思是用定時(shí)器來檢測(cè)是否有主動(dòng)連接需求
$worker->onWorkerStart = function(){
Timer::add(1, function() {
new AsyncTcpConnection("ws://echo.websocket.org:80");
});
}
進(jìn)程不重啟的情況下,通過定時(shí)檢查,來判斷是否有新的主動(dòng)連接。
然后我的奇葩想法來了,因?yàn)橛虚]包又想簡(jiǎn)化代碼結(jié)構(gòu),我已經(jīng)開啟了worker了,那么我是否不用再onXXX里去new AsyncTcpConnection ,在任何地方都可以new?我試過了不成功,所有想問問。

2364 1 0
1個(gè)回答

walkor 打賞

onWorkerStart運(yùn)行完之后,可以在任意的位置初始化AsyncTcpConnection 連接

  • zhouaini528 2020-10-09

    我測(cè)試了必須要在onWorkerStart function里new 才不會(huì)報(bào)錯(cuò)。
    如下:
    $worker = new Worker();
    $worker->onWorkerStart = function()
    {
    $con = new AsyncTcpConnection("ws://echo.websocket.org:80");
    $con->connect();

    //同一作用域下 add timer 內(nèi)初始化對(duì)象要報(bào)錯(cuò)。

    Timer::add(1, function() {
    $con = new AsyncTcpConnection("ws://echo.websocket.org:80");
    $con->connect();
    });

  • walkor 2020-10-09

    為什么不把報(bào)錯(cuò)貼出來?

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