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

GateWayWorker使用AsyncTcpConnection的疑惑

jay

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

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();
    }
}

請問這段代碼能實現(xiàn)我的需求嗎?

3466 1 0
1個回答

keytehu

感覺有點問題,self::$connection_to_8989每次被覆蓋了。
應該用一個數(shù)組存儲所有的$connection_to_8989,onClose的時候從數(shù)組中刪除對應的$connection_to_8989。

  • jay 2018-05-30

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

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