更新记录

1.0.0(2026-08-04)

  • 首发 Android TCP 客户端与 UDP(单连接 / 单绑定)
  • 支持文本 / 十六进制收发、断线与错误回调
  • 定价:普通授权 ¥19.90 / 源码授权 ¥99.00

平台兼容性

uni-app

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - 5.0 × ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x

Chrome Safari Android iOS 鸿蒙 微信小程序
- - 5.0 × × -

Thor-tcp-udp

Thor 安卓原生 TCP / UDP Socket(第一版仅 Android)。

弥补 uni-app 仅有 WebSocket、缺少裸 TCP/UDP 的缺口。适合 IoT、打印机、工控、自定义协议等场景。

功能

  • TCP 客户端:连接 / 发送文本或 hex / 收消息 / 关闭(当前单连接)
  • UDP:绑定本地端口 / 发送 / 收消息 / 关闭(当前单绑定)
  • IO 线程收发,回调切回主线程
  • 返回 id,关闭/发送时按 id 校验

TCP 用法

import { tcpConnect, tcpSend, tcpClose } from '@/uni_modules/Thor-tcp-udp'

let tcpId = ''

tcpConnect({
  host: 'tcpbin.com',
  port: 4242,
  timeout: 10000,
  success(res) {
    tcpId = res.id
  },
  fail(err) {
    console.log(err)
  },
  onMessage(msg) {
    console.log('recv', msg.text, msg.hex)
  },
  onClose(e) {
    console.log('close', e.reason)
  },
  onError(e) {
    console.log('error', e.errMsg)
  }
})

tcpSend({ id: tcpId, text: 'hello\n' })
// 或 tcpSend({ id: tcpId, hex: '68656c6c6f0a' })

tcpClose({ id: tcpId })

UDP 用法

import { udpBind, udpSend, udpClose } from '@/uni_modules/Thor-tcp-udp'

let udpId = ''

udpBind({
  port: 0, // 0 = 系统分配
  success(res) {
    udpId = res.id
    console.log('localPort', res.localPort)
  },
  onMessage(msg) {
    console.log(msg.remoteHost, msg.remotePort, msg.text)
  }
})

udpSend({
  id: udpId,
  host: '192.168.1.100',
  port: 9000,
  text: 'ping'
})

udpClose({ id: udpId })

错误码

errCode 含义
1001 参数无效
1002 连接/绑定失败
1003 id 不存在
1004 发送失败
1005 已关闭
1099 其它
9001 平台不支持(预留)

平台

  • Android:已实现(minSdk 21)
  • iOS / 鸿蒙:未实现

注意

  1. 需要重新制作 自定义调试基座(含网络权限 / cleartext)。
  2. 公网明文 TCP 测试可用 tcpbin.com:4242(echo)。
  3. 本插件首版为单 TCP + 单 UDP(同时只能各维持一条),够用再扩展多连接。
  4. 本插件不做 TLS;如需加密请自行在业务层处理或后续版本扩展。

售价

  • 普通授权版:¥19.90
  • 源码授权版:¥99.00

隐私、权限声明

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

需要网络权限 INTERNET(及可选 ACCESS_NETWORK_STATE)。明文 TCP/UDP 需允许 cleartext(插件已声明 usesCleartextTraffic,以项目合并结果为准)。

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

插件不采集、不上传任何用户数据;仅按调用方指定的地址进行本机网络收发。

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

暂无用户评论。