PHPackages                             mix/websocket-skeleton - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mix/websocket-skeleton

ActiveProject[Utility &amp; Helpers](/categories/utility)

mix/websocket-skeleton
======================

WebSocket development skeleton

v3.0.34(3y ago)01351Apache-2.0PHP

Since Jul 15Pushed 3y ago1 watchersCompare

[ Source](https://github.com/mix-php/websocket-skeleton)[ Packagist](https://packagist.org/packages/mix/websocket-skeleton)[ Docs](https://openmix.org/mix-php)[ RSS](/packages/mix-websocket-skeleton/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (9)Versions (30)Used By (0)

WebSocket development skeleton
==============================

[](#websocket-development-skeleton)

帮助你快速搭建 WebSocket 项目骨架，并指导你如何使用该骨架的细节，骨架默认开启了 SQL、Redis 日志，压测前请先关闭 `.env` 的 `APP_DEBUG`

安装
--

[](#安装)

> 需要先安装 [Swoole](https://wiki.swoole.com/#/environment)

- Swoole &gt;= 4.4.15:

```
composer create-project --prefer-dist mix/websocket-skeleton websocket

```

快速开始
----

[](#快速开始)

启动 Swoole 协程服务

```
composer run-script --timeout=0 swooleco:start

```

执行脚本
----

[](#执行脚本)

- `composer run-script` 命令中的 `--timeout=0` 参数是防止 composer [执行超时](https://getcomposer.org/doc/06-config.md#process-timeout)
- `composer.json` 定义了命令执行脚本，对应上面的执行命令

```
"scripts": {
    "swooleco:start": "php bin/swooleco.php",
    "cli:clearcache": "php bin/cli.php clearcache"
}
```

当然也可以直接下面这样启动，效果是一样的，但是 `scripts` 能帮你记录到底有哪些可用的命令，同时在IDE中调试更加方便。

```
php bin/swooleco.php start

```

编写一个 WebSocket 服务
-----------------

[](#编写一个-websocket-服务)

首先修改根目录 `.env` 文件的数据库信息

然后在 `routes/index.php` 定义一个新的路由

```
$vega->handle('/websocket', [new WebSocket(), 'index'])->methods('GET');
```

路由里使用了 `WebSocket` 控制器，我们需要创建他

- 如何配置路由：[mix/vega](https://github.com/mix-php/vega#readme)
- 如何使用 WebSocket 升级器：[mix/websocket](https://github.com/mix-php/websocket#readme)

```
