Home > Backend Development > PHP Tutorial > Can only two global variable data be stored in swoole's server.php?

Can only two global variable data be stored in swoole's server.php?

WBOY
Release: 2016-08-04 09:19:15
Original
1252 people have browsed it

There have been only two
Can only two global variable data be stored in swoole's server.php?
four clients opened. . .

<code><?php

// 官网demo
$ws = new swoole_websocket_server("***********", 9502);
$fds = [];

/**
 * 广播发送
 * @param swoole_websocket_server $ws
 * @param $msg
 * @param $fds
 * @param null $me
 */
function broadcast(swoole_websocket_server $ws, $msg, $fds , $me = null) {
    foreach($fds as $fd) {
        if($fd != $me) {
            $ws->push($fd, $msg);
        }
    }
}

// 监听WebSocket连接打开事件
$ws->on('open', function (swoole_websocket_server $ws, $request) use(&$fds) {
    $fds[$request->fd] = $request->fd;
    $ws->push($request->fd, "欢迎接入小孟聊天平台\n");
    broadcast($ws, "用户{$request->fd}登录啦!", $fds, $request->fd);
    var_dump($fds);
});

// 监听WebSocket消息事件
$ws->on('message', function (swoole_websocket_server $ws, $frame) use(&$fds) {
    $msg =  'from'.$frame->fd.":{$frame->data}\n";
    broadcast($ws, $msg, $fds, $frame->fd);
   // $ws->push($frame->fd, "server: {$frame->data}");
    // $ws->push($frame->fd, "server: {$frame->data}");
});

// 监听WebSocket连接关闭事件
$ws->on('close', function (swoole_websocket_server $ws, $fd) use(&$fds) {
    unset($fds[$fd]);
    broadcast($ws, "用户{$fd}下线啦!", $fds);
});


$ws->start();</code>
Copy after login
Copy after login

Reply content:

There have been only two
Can only two global variable data be stored in swoole's server.php?
four clients opened. . .

<code><?php

// 官网demo
$ws = new swoole_websocket_server("***********", 9502);
$fds = [];

/**
 * 广播发送
 * @param swoole_websocket_server $ws
 * @param $msg
 * @param $fds
 * @param null $me
 */
function broadcast(swoole_websocket_server $ws, $msg, $fds , $me = null) {
    foreach($fds as $fd) {
        if($fd != $me) {
            $ws->push($fd, $msg);
        }
    }
}

// 监听WebSocket连接打开事件
$ws->on('open', function (swoole_websocket_server $ws, $request) use(&$fds) {
    $fds[$request->fd] = $request->fd;
    $ws->push($request->fd, "欢迎接入小孟聊天平台\n");
    broadcast($ws, "用户{$request->fd}登录啦!", $fds, $request->fd);
    var_dump($fds);
});

// 监听WebSocket消息事件
$ws->on('message', function (swoole_websocket_server $ws, $frame) use(&$fds) {
    $msg =  'from'.$frame->fd.":{$frame->data}\n";
    broadcast($ws, $msg, $fds, $frame->fd);
   // $ws->push($frame->fd, "server: {$frame->data}");
    // $ws->push($frame->fd, "server: {$frame->data}");
});

// 监听WebSocket连接关闭事件
$ws->on('close', function (swoole_websocket_server $ws, $fd) use(&$fds) {
    unset($fds[$fd]);
    broadcast($ws, "用户{$fd}下线啦!", $fds);
});


$ws->start();</code>
Copy after login
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template