简介
hypelight-protocol 是一个基于 WebSocket 协议的前端实时通信库,适用于构建实时聊天、在线协作等需要实时通信的应用。它可用于浏览器和 Node.js 环境中,支持多种消息类型。
安装
使用 npm 安装:
npm install hypelight-protocol --save
使用方法
创建客户端
使用 createClient
方法创建客户端对象。传入一个参数对象,必须包含服务器地址 url
,可选项包括一个消息处理函数 onMessage
。
import { createClient } from 'hypelight-protocol'; const client = createClient({ url: 'wss://example.com/my-chat', onMessage(message) { console.log('received message:', message); }, });
连接服务器
使用客户端对象的 connect
方法连接服务器。连接成功后就可以发送和接收消息了。
client.connect().then(() => { console.log('connected to server'); }).catch((error) => { console.error('failed to connect:', error); });
发送消息
使用客户端对象的 send
方法发送消息。该方法传入一个消息对象,包括一个消息类型 type
和一个消息体 data
。消息类型可以是任何字符串,消息体可以是任何 JSON-serializable 对象。
client.send({ type: 'chat', data: { text: 'hello world', }, });
监听事件
可以监听客户端对象的 connected
、disconnected
和 message
三个事件。
-- -------------------- ---- ------- ---------------------- -- -- - ---------------------- -- --------- --- ------------------------- -- -- - ------------------------- ---- --------- --- -------------------- --------- -- - --------------------- ---------- --------- ---
示例
以下是一个完整的示例,它创建一个简单的聊天应用。你需要将它保存为一个 HTML 文件并在浏览器中打开。这里使用的服务器是 wss://echo.websocket.org,它会原样返回收到的消息,用于测试。
-- -------------------- ---- ------- --------- ----- ------ ------ ----- ---------------- ----------- --------------- ------- ------ --- ------------------- ----- ---------- ------ ---------- ------------------- --------------------- ------- ------- -------------- ------ - ------------ - ---- --------------------- ----- ------ - -------------- ---- --------------------------- ------------------ - -- ------------- --- ------- - ---------------------------------- - ---- - -------------------- ------- ------- -------------- - -- --- ----- ---- - -------------------------------- ------------------------------- ------- -- - ----------------------- -------------- --- ----- -------- --------- - --- - ----- ----------------- ---------------------- -- --------- - ----- ------- - --------------------- -- ---------- ------- - - -------- ------------- - ----- ----- - --------------------------------- ----- ---- - ------------------- -- ------ - ------------- ----- ------- ----- - ---- -- --- ----------- - --- - - -------- -------------------- - ----- -------- - ------------------------------------ ----- ---- - ----------------------------- ---------------- - ----- --------------------------- - ---------- --------- ------- -------
小结
hypelight-protocol 是一个可用于浏览器和 Node.js 的前端实时通信库,使用简单方便,可以用于构建许多实时应用。它支持多种消息类型,可以轻松地扩展自定义类型。希望本文能为你带来一些帮助,愉快的编程!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f2e52233b0ab45f74a8bc3a