>[danger] 该组件为系统组件,在组件树中只可命名为 ws,不可修改为其他名称。 ## 连接 WebSocket 连接组件保存了当前连接的实例,通过该实例可发送消息给客户端,获取客户端信息。 | 类 | 调用 | | --- | --- | | Mix\WebSocket\WebSocketConnection | app()->ws | ## 依赖注入配置 [>> 到 GitHub 查看默认配置 <<](https://github.com/mix-php/mix/blob/master/applications/websocket/config/main_coroutine.php#L189) ## `push` 方法 ``` ~~~ // 发送文本消息 $frame = new \Mix\WebSocket\Frame\TextFrame([ 'data' => $message, ]); app()->ws->push($frame); // 发送二进制消息 $frame = new \Mix\WebSocket\Frame\BinaryFrame([ 'data' => $message, ]); app()->ws->push($frame); // 发送关闭帧 $frame = new \Mix\WebSocket\Frame\CloseFrame([ 'code' => 1000, 'reason' => '' 'data' => $message, ]); app()->ws->push($frame); ~~~ ``` ## `getClientInfo` 方法 获取客户端信息 ``` $clientInfo = app()->ws->getClientInfo(); ``` ## `disconnect` 方法 关闭连接 ``` app()->ws->disconnect($code, $reason); ```