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

GateWayWorker使用AsyncTcpConnection的疑惑

jay

目的:
瀏覽器和服務(wù)端建立websocket長(zhǎng)連接
服務(wù)端同時(shí)作為websocket客戶端跟第三方接口保持長(zhǎng)連接
拿到第三方數(shù)據(jù)后,將結(jié)果 返回給指定的客戶端用戶

envent.php代碼:

class Events
{

    public static $connection_to_8989 = null;

    public static function onConnect($client_id){
        self::$connection_to_8989 = new AsyncTcpConnection("ws://127.0.0.1:8989");
        self::$connection_to_8989->onMessage = function($connection_to_8989, $buffer)use($client_id)
        {
            Gateway::sendToClient($client_id,$client_id." said 【".$buffer."】 from 8787");
        };
        self::$connection_to_8989->connect();
    }

    public static function onMessage($client_id, $message){
        sleep(mt_rand(1,3));
        self::$connection_to_8989->send($message);
    }

    public static function onClose(){
        self::$connection_to_8989->close();
    }
}

請(qǐng)問(wèn)這段代碼能實(shí)現(xiàn)我的需求嗎?

3335 1 0
1個(gè)回答

keytehu

感覺有點(diǎn)問(wèn)題,self::$connection_to_8989每次被覆蓋了。
應(yīng)該用一個(gè)數(shù)組存儲(chǔ)所有的$connection_to_8989,onClose的時(shí)候從數(shù)組中刪除對(duì)應(yīng)的$connection_to_8989。

  • jay 2018-05-30

    還有一個(gè)疑問(wèn),self::$connection_to_8989[$client_id]->onMessage 這個(gè)客戶端回調(diào)不會(huì)收到其他連接的消息吧???

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