diff --git a/CHANGELOG.md b/CHANGELOG.md index aa9fc43..d321048 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ ## 1.0.25 -- 添加Time时间工具,支持同步服务器时间;提供一系列时间格式化方法,。 \ No newline at end of file +- 添加Time时间工具,支持同步服务器时间;提供一系列时间格式化方法,。 +## 1.0.27 +- 添加socket网络模块,支持所有平台,抹平微信、支付宝、抖音小游戏和web以及原生平台的使用差异; \ No newline at end of file diff --git a/README.md b/README.md index c967343..a065e01 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ npm install kunpocc 12. [屏幕尺寸](./docs/Screen.md) 13. [小工具](./docs/Tools.md) 14. [时间](./docs/Time.md) - +15. [socket网络模块](./docs/Socket.md) ## 类型支持 该库完全使用 TypeScript 编写,提供完整的类型定义文件。 diff --git a/docs/Socket.md b/docs/Socket.md new file mode 100644 index 0000000..9b1be97 --- /dev/null +++ b/docs/Socket.md @@ -0,0 +1,45 @@ +## socket网络模块 + +* 目的抹平小游戏平台和原生平台的使用差异 + + `各个小游戏平台都是自己封装的socket 和 浏览器标准的websocket在用法上有一定的差异` + + + +#### 使用 + +```typescript +import { Socket } from "kunpocc"; + +// 创建一个连接 +let url = "wss:xxxxxxxx" +let socket = new Socket(url, { binaryType: "arraybuffer" }); + +// 监听连接open事件 +socket.onopen = () => { + log("连接成功"); +} + +// 监听收到服务端的消息 +socket.onmessage = (data: string | ArrayBuffer) => { + log("收到消息", data); +} + +// 监听连接关闭的事件 +socket.onclose = (code: number, reason: string) => { + log("连接关闭", code, reason); + socket = null; +} + +// 发送字符串消息 +socket.send("发送给服务端的消息"); + +// 发送二进制数据 一般都是使用ProtoBuf,具体使用可参考Demo +socket.sendBuffer(buffer); + +// 主动断开连接 +socket.close(3001, "主动断开连接"); +``` + + + diff --git a/package.json b/package.json index 105f1fd..ad58a88 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kunpocc", - "version": "1.0.26", + "version": "1.0.27", "description": "基于creator3.0+的kunpocc库", "main": "./dist/kunpocc.cjs", "module": "./dist/kunpocc.mjs", diff --git a/src/net/socket/Socket.ts b/src/net/socket/Socket.ts index 5dce1f3..23ea289 100644 --- a/src/net/socket/Socket.ts +++ b/src/net/socket/Socket.ts @@ -271,7 +271,7 @@ export class Socket { * 接收到服务端发送的消息 * @param data - 消息数据 */ - public onmessage: (data: any) => void; + public onmessage: (data: string | ArrayBuffer) => void; /** * 监听可能发生的错误,一般用不到