网络模块
kunpocc-net:专为小游戏和原生(Android、iOS)平台开发的网络库
kunpocc-net:专为小游戏和原生(Android、iOS)平台开发的网络库
它解决什么问题
如果你在开发小游戏,特别是需要同时支持微信、支付宝、字节跳动等多个平台,你会发现一个头疼的问题:每个平台的网络API都不完全一样。
微信小游戏用wx.request和wx.connectSocket,支付宝用my.request和my.connectSocket,字节跳动又是另一套API。写一次代码要适配多个平台,需要大量的if-else判断。
kunpocc-net就是为了解决这个问题——用统一的API,让你的网络代码在所有平台上都能跑。
主要功能
1. HTTP请求模块
- 封装XMLHttpRequest,支持GET/POST/PUT/HEAD
- 统一的API接口,不用管底层平台差异
- 支持JSON、文本、二进制数据响应
- 完整的错误处理和超时控制
2. WebSocket模块
- 抹平各小游戏平台WebSocket API的差异
- 统一的连接、收发消息、断开接口
- 支持文本和二进制数据传输
- 自动处理平台兼容性
3. 网络文件读取
- 简化网络文件加载流程
- 统一的文件读取API
快速开始
安装
npm install kunpocc-net
HTTP请求示例
import { HttpManager, IHttpEvent } from 'kunpocc-net';
// 定义请求回调
const loginEvent: IHttpEvent = {
name: "login",
onComplete: (response) => {
console.log('登录成功:', response.data);
},
onError: (response) => {
console.log('登录失败:', response.error);
}
};
// 发送POST请求
HttpManager.post(
"https://api.example.com/login",
{ username: "test", password: "123456" },
"json",
loginEvent
);
// 发送GET请求
HttpManager.get(
"https://api.example.com/userinfo",
{ userId: 123 },
"json",
loginEvent
);
WebSocket连接示例
import { Socket } from "kunpocc-net";
// 创建连接
const socket = new Socket("wss://game-server.com/ws", {
binaryType: "arraybuffer",
timeout: 5000
});
// 监听连接事件
socket.onopen = () => {
console.log("连接成功");
};
socket.onmessage = (data) => {
console.log("收到消息:", data);
};
socket.onclose = (code, reason) => {
console.log("连接断开:", code, reason);
};
// 发送消息
socket.send("Hello Server");
// 发送二进制数据
socket.sendBuffer(buffer);
// 主动断开
socket.close(1000, "正常关闭");
技术特点
简单实用:API设计简洁,上手快。一个HttpManager.post()就能发请求,一个new Socket()就能建连接。
跨平台兼容:自动识别运行平台,无需手动适配。在微信、支付宝、字节跳动小游戏,以及普通Web环境都能正常工作。
类型安全:完整的TypeScript类型定义,IDE有完整的代码提示和类型检查。
零依赖:不依赖任何第三方库,打包后体积小。
生产可用:已在多个游戏项目中使用,稳定可靠。
适用场景
- 小游戏网络通信(特别是需要多平台发布的项目)
- Web游戏开发
- 需要简化HTTP请求管理的项目
- 需要WebSocket长连接的实时游戏
项目信息
- 版本: 0.0.2
- 作者: gongxh
- 开源协议: ISC
- NPM包: kunpocc-net
- GitHub: kunpocc-net
- Gitee: kunpocc-net
如果你在小游戏开发中遇到网络API兼容问题,或者想简化HTTP请求代码,kunpocc-net应该能帮到你。