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

unlisten 真的能用嗎?unlisten之后能否使用此端口發(fā)起異步通信.

augushong

監(jiān)聽的udp端口6000,
worker里有一個listen和unlisten方法,我希望在一個邏輯地方,unlisten,使用異步udp發(fā)起一個連接,指定使用6000端口發(fā)起,然后調(diào)用listen.
但是為什么還是報already in use 錯誤.
代碼如下:
$server就是監(jiān)聽在4788下的worker,
這段代碼寫在一個回調(diào)里面,
打印unlisten的信息(改worker.php),確實關(guān)閉了socket,對象屬性_mainSocket也為null,把fclose換成stream_socket_shutdown也不行.


    $server->unlisten();

    foreach ($server->connections as $connection) {
        $connection->close();
    }

    // sleep(1);

    // connect to the internet using port '4788'
    $opts = array(
        'socket' => array(
            'bindto' => '0:4788',
        ),
    );

    $find_conn = new AsyncUdpConnection($address,$opts);

    $find_conn->worker = $server;

    $find_conn->action = $action;

    $find_conn->protocol = $server->protocol;

    // $find_conn->onConnect = function($connection) use ($msg,$server){
        // $connection->close($msg);
        // $server->listen();
    // };

    // $find_conn->connect();

    $find_conn->close($msg);

    $server->listen();

根據(jù)打印的信息,unlisten確實執(zhí)行了但是stream_socket_client還是不能占用這個端口,這是為什么?

2553 1 0
1個回答

walkor 打賞

因為主進(jìn)程還監(jiān)聽著那個udp端口。unlisten只是取消當(dāng)前進(jìn)程的監(jiān)聽,不影響其它進(jìn)程。

  • augushong 2018-10-31

    感謝感謝,立刻點開了思路,需求已經(jīng)實現(xiàn),

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