设置详见 之前的 Laravel-Octane
参考:
# Websocket server should be enabled for laravel octane's swoole #43468# Swoole WebSocket 聊天室实作https://javascript.info/websocket修改
找到 vendor/laravel/octane/bin/createSwooleServer.php
,并修改 第6行 。把 Http 改为 WebSocket:
6 $server = new Swoole\Http\Server(6 $server = new Swoole\WebSocket\Server(
找到 vendor/laravel/octane/bin/swoole-server
,在 62 行后加入以下片段:
/* Socket */$server->on("start", function (Swoole\WebSocket\Server $server) { echo "Socket Server";});$server->on("open", function (Swoole\WebSocket\Server $server, $request) { echo "server: handshake success with fd{$request->fd}\n";});$server->on('message', function (Swoole\WebSocket\Server $server, $frame) { echo "编号:{$frame->fd},讯息:{$frame->data}\n"; $server->push($frame->fd, "this is server");});$server->on('close', function ($ser, $fd) { echo "client {$fd} closed\n";});
执行
执行指令不变
php artisan octane:start
启动后 socket 会跑在
ws://127.0.0.1:8000