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

tcp接受數(shù)據(jù)轉(zhuǎn)發(fā)給websocket

beginning

需要做一個tcp接受數(shù)據(jù)以后 實時轉(zhuǎn)發(fā)給前端的web頁面
參照web-msg-sender例子來寫
為什么socket推送前端2120收不到
代碼該怎么改呢?

$sender_io = new SocketIO(2120);
$sender_io->on('connection', function($socket){    
    $socket->on('login', function ($uid)use($socket){
         ...
    });    
    $socket->on('disconnect', function () use($socket) {
        ...
    });
});
$web = new WebServer('http://0.0.0.0:2123');
$web->addRoot('localhost', __DIR__ . '/web');
$tcp_worker = new Worker("tcp://0.0.0.0:2500");
$tcp_worker->count = 10;
$tcp_worker->onMessage = function($connection, $data)
{  
    global $sender_io;
    $sender_io->emit('new_msg', $data); //這里通過sender_io給前端頁面推送 但是前端2120收不到
    $connection->send('hello ' . $data);
};
Worker::runAll();
7799 3 0
3個回答

walkor 打賞

你的代碼里面 WebServer 和 SocketIO是屬于不同進程的,互相操作不到的。

  • 暫無評論
beginning
$sender_io->on('workerStart', function(){

    $tcp_worker = new Worker("tcp://0.0.0.0:2500");

    $tcp_worker->onMessage = function($connection, $data)
    {
        global $sender_io;
        $sender_io->emit('new_msg', $data);
        $connection->send('ok ' . $data);
    };
    $tcp_worker->listen();
});

我把代碼改成這樣的話
就可以監(jiān)聽到tcp端了

但是有個疑問:這樣的話 會不會每個websocket鏈接都會去創(chuàng)建一個tcp進程?
如果前端有100個頁面訪問,就會建立了100個tcp監(jiān)聽進程?

  • 暫無評論
walkor 打賞

不會

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