网络模块

kunpocc-net:专为小游戏和原生(Android、iOS)平台开发的网络库

kunpocc-net:专为小游戏和原生(Android、iOS)平台开发的网络库

它解决什么问题

如果你在开发小游戏,特别是需要同时支持微信、支付宝、字节跳动等多个平台,你会发现一个头疼的问题:每个平台的网络API都不完全一样。

微信小游戏用wx.requestwx.connectSocket,支付宝用my.requestmy.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长连接的实时游戏

项目信息

如果你在小游戏开发中遇到网络API兼容问题,或者想简化HTTP请求代码,kunpocc-net应该能帮到你。