@xiacg/exia-net
v1.0.4
Published
网络相关库
Readme
exia-net
网络通信库,提供 HTTP 请求和 WebSocket 连接的封装,支持跨平台使用。
简介
exia-net 是一个网络通信库,封装了 HTTP 和 WebSocket 功能,抹平了浏览器、原生平台和小游戏平台之间的 API 差异。提供统一、简洁的接口用于网络通信。
核心特性:
- 🌐 HTTP 模块 - 封装 XMLHttpRequest,支持 POST/GET/PUT/HEAD 等方法
- 🔌 Socket 模块 - 统一的 Socket 接口,兼容各平台
- 📡 支持 JSON、文本、二进制数据传输
- ⚡ 请求超时控制和错误处理
- 🎯 全局事件和回调两种响应方式
安装
npm install @xiacg/exia-net使用说明
HTTP 模块 (HttpManager)
提供 HTTP 请求功能,支持多种请求方法和响应类型。
请求方法:
post(url, data, responseType?, event?, headers?, timeout?)- POST 请求get(url, data, responseType?, event?, headers?, timeout?)- GET 请求put(url, data, responseType?, event?, headers?, timeout?)- PUT 请求head(url, data, responseType?, event?, headers?, timeout?)- HEAD 请求
响应类型:
'json'- JSON 格式(默认)'text'- 文本格式'arraybuffer'- 二进制数据
响应处理方式:
- 回调方式 - 通过
IHttpEvent接口设置成功和失败回调 - 全局事件 - 通过
HttpManager.HttpEvent监听所有请求响应
接口定义:
IHttpRequest- 请求配置接口IHttpResponse- 响应数据接口IHttpEvent- 请求事件接口
Socket 模块 (Socket)
提供统一的 Socket 接口,兼容浏览器、原生平台和小游戏平台。
主要功能:
new Socket(url, options)- 创建 Socket 连接send(data)- 发送字符串消息sendBuffer(buffer)- 发送二进制数据(常用于 ProtoBuf)close(code, reason)- 关闭连接
事件监听:
onopen- 连接成功回调onmessage- 接收消息回调onclose- 连接关闭回调onerror- 连接错误回调
配置选项:
binaryType- 二进制数据类型('arraybuffer'|'blob')
WebSocket 模块 (Socket)
提供统一的 WebSocket 接口,仅支持浏览器。
主要功能:
connect(url, port)- 创建 WebSocket 连接send(data)- 发送string | Blob | ArrayBufferView | ArrayBuffer 数据sendBuffer(cmd, buffer, key)- 发送带有自定义头数据(常用于 ProtoBuf)close(code, reason)- 关闭连接
参数:
url- WebSocket 服务器地址port- WebSocket 服务器端口(可选)cmd- 命令字符串(可选)data- 数据二进制缓冲区(可选)key- 键字符串(可选)
事件监听:
onConnected- 连接成功回调onMessage- 接收消息回调onClosed- 连接关闭回调onError- 连接错误回调
消息体结构:
Message- 消息体结构
事件回调参数:
msg- 收到的消息体(包含cmd、data、key)
详细 API 请查看 exia-net.d.ts 类型定义文件。
许可证
MIT License
作者
xiacg (xiacg)
邮箱: [email protected]
