更新记录
1.0.6(2025-03-27)
1、TEST;
1.0.5(2025-03-27)
1、优化 Android 数据返回;
1.0.4(2025-03-27)
1、优化 Android 数据返回;
查看更多平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
Android:5.0,iOS:9,HarmonyNext:不确定 | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 | 鸿蒙元服务 |
---|---|---|---|---|
× | × | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × |
kaka-KSocket
欢迎使用 kaka-KSocket UTS插件, 此插件使用原生SDK实现Android、iOS基于TCPSocket的数据通信, 支持与硬件交互.
- 支持连接、断开;
- 支持字节数据、字符串数据写入;
- 支持连接状态监听、数据回传监听、数据写入是否完成监听;
导入
import * as KSocket from "@/uni_modules/kaka-KSocket";
KSocket使用说明
连接
-
vue
KSocket.connect({ ip: "192.168.100.101", port: "8030" }) // ip 和 端口需改成可连接的
-
uvue
KSocket.connect({ ip: ip.value, port: port.value } as KSocket.SocketType) // ip 和 端口需改成可连接的
断开
KSocket.disconnect()
写入数据
- 写入字节数组
// 参数为字节数组,需设备支持的指令,这点很重要 KSocket.writeBytesCmd([0x10, 0xff, 0x30, 0x11])
- 写入字符串
// 第一个参数为字符串内容,传的字符串需设备支持的指令,这点很重要 // 第二个参数为字符串编码,不传默认 "UTF_8" 编码,包含中文需传 "GBK" KSocket.writeStringCmd("哈哈哈\r\n", "GBK")
事件监听
连接状态监听
-
vue
KSocket.onConnectStateChange(socket => { console.log("onConnectStateChange", socket) console.log(socket.isConnect ? "连接成功" : "断开连接") this.isConnect = socket.isConnect; });
-
uvue
KSocket.onConnectStateChange(socket => { console.log("onConnectStateChange", socket) const _isConnect = socket.isConnect ?? false; console.log(_isConnect ? "连接成功" : "断开连接") isConnect.value = _isConnect; });
数据回传监听
KSocket.onDataReceive(data => {
let result = "";
for (let byte of data) {
result += String.fromCharCode(byte);
}
uni.showToast({
title: `收到数据: ${data}\n转字符串: ${result}`,
icon: 'none'
});
console.log( `收到数据: ${data}`)
console.log(`收到数据转字符串: ${result}`);
});
数据写入是否完成监听
KSocket.onWriteComplete(isComplete => {
uni.showToast({
title: "写入" + (isComplete ? "成功" : "失败"),
icon: 'none'
});
});