layman/laravel-websocket is a Laravel package for websocket.
It currently has 0 GitHub stars and 58 downloads on Packagist (latest version v2.1.0).
Install it with composer require layman/laravel-websocket.
Discover more Laravel packages by layman
or browse all Laravel packages to compare alternatives.
Last updated
Laravel websocket 分布式服务扩展包。
composer require layman/laravel-websocket
php artisan vendor:publish --provider="Layman\LaravelWebsocket\WebsocketServiceProvider" --tag=websocket-config
php artisan vendor:publish --tag=websocket-views
php artisan websocket:start
| 字段名 | 字段是否必传 | 数据类型 | 说明 |
|---------------|--------|---------------------|--------------------------------------------------------------------------------------------------------------|
| type | 是 | int | 消息类型:
1:文本
2:图片
3:文件
4:视屏
5:控制消息
6:音频
7:表情/动画
8:消息确认
9:其他
101:ping
102:pong |
| uuid | 是 | string | 消息唯一编号 |
| datetime | 是 | int | 消息时间戳 |
| index | 是 | int | 分片索引 |
| count | 是 | int | 分片总数 |
| peer | 是 | array | 发送者&接收者&群编号&通知类型 |
| └─sender | 是 | int/string | 发送者 |
| └─receiver | 是 | int/string/array/null | 接收者(只有notice_type=3 为系统消息才可为数组个格式) |
| └─group_code | 是 | int/string/null | 群编号 |
| └─notice_type | 是 | int | 通知类型:
1:私聊
2:群聊-暂不支持
3:系统
4:广播
|
| └─files | 是 | array | 文件参数 |
| payload | 是 | string | 消息内容 |
// 测试
Illuminate\Support\Facades\Route::get('/websocket', function () {
return view('websocket');
});
// 消息订阅
$client = new Predis\Client();
$client->publish('order_subscribe', Layman\LaravelWebsocket\Cores\Utils::pack(
1,
Str::uuid(),
time(),
1,
1,
[
'sender' => 'server',
'receiver' => 'x123',
'group_code' => null,
'notice_type' => 1,
'files' => [],
],
json_encode([
'order_code' => 'xxx123',
'message' => '您有新的订单!',
])
));
// auth认证
class Authenticate implements Layman\LaravelWebsocket\Interfaces\AuthenticateInterface
{
}
欢迎提 Issue 或 PR 来改进此包。你的每一个建议和贡献,都是我们前进的动力!
如果你觉得 Laravel-Websocket 有帮助,别忘了点个 ⭐ Star 哦!