更新记录

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'
    });
});

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问