目录
一、安转
二、快速开始
三、实例开始
centrifuge提供了一个客户端,可使用纯 WebSocket 或一种替代传输(HTTP 流、SSE/EventSource、实验性 WebTransport)从 Web 浏览器、ReactNative 或 NodeJS 环境连接到Centrifugo或任何基于 Centrifuge 的服务器。
centrifuge可以通过pnpm安装:
pnpm add centrifuge
然后在你的项目中:
import { Centrifuge } from 'centrifuge';
在浏览器中,您可以从CDN导入SDK(替换5.0.0为您要使用的具体版本号,请参阅releases):
另请参阅cdnjs 上的 centcent-js。请注意,centrifuge-js浏览器构建目标ES6。默认情况下,库仅适用于 JSON,如果您想发送二进制有效负载,请转到Protobuf 支持部分以了解如何导入具有 Protobuf 支持的客户端。
基本用法示例可能如下所示:
// Use WebSocket transport endpoint.
const centrifuge = new Centrifuge('ws://centrifuge.example.com/connection/websocket');
// Allocate Subscription to a channel.
const sub = centrifuge.newSubscription('news');
// React on `news` channel real-time publications.
sub.on('publication', function(ctx) {
console.log(ctx.data);
});
// Trigger subscribe process.
sub.subscribe();
// Trigger actual connection establishement.
centrifuge.connect();
请注意,我们显式调用.connect()
方法来启动与服务器的连接建立,以及.subscribe()
将订阅移动到状态的方法(在与服务器建立连接后subsribing
应立即转换为状态)。和调用subscribed
的顺序在这里实际上并不重要。.connect()
.subscribe
Centrifuge
object 和Subscription
object 都是EventEmitter的实例。下面我们将详细描述可以曝光的事件。
socktest
参见官网