vedorx / websocketmiddleware
React 的 WebSocket 中间件
2.0.0
2020-08-17 16:34 UTC
Requires
- ratchet/rfc6455: ^0.3
- react/http: ^1.0
Requires (Dev)
- react/child-process: ^0.5.0
This package is auto-updated.
Last update: 2024-09-17 02:27:40 UTC
README
react/http 的 WebSocket 中间件
试试看
从示例目录中运行 chat_ws_server.php
,并在几个浏览器窗口中导航到 http://127.0.0.1:4321/(仅在 Chrome 中进行了简要测试)
简单用法
一个简单的回声服务器
use Ratchet\RFC6455\Messaging\Message; use React\EventLoop\Factory; use React\Http\Server; use Voryx\WebSocketMiddleware\WebSocketConnection; use Voryx\WebSocketMiddleware\WebSocketMiddleware; require __DIR__ . '/../../vendor/autoload.php'; $loop = Factory::create(); $ws = new WebSocketMiddleware([], function (WebSocketConnection $conn) { $conn->on('message', function (Message $message) use ($conn) { $conn->send($message); }); }); $server = new Server($loop, $ws); $server->listen(new \React\Socket\Server('127.0.0.1:4321', $loop)); $loop->run();
选项
默认情况下,WebSocketMiddleware
使用 ratchet/rfc6455
的默认最大消息和帧大小,并禁用压缩。这些设置可以用 WebSocketOptions
对象覆盖。
$ws = new WebSocketMiddleware( [], $connectionHandler, [], WebSocketOptions::getDefault() ->withMaxFramePayloadSize(2048) ->withMaxMessagePayloadSize(4096) ->withPermessageDeflate());