更新记录

1.0.0(2026-07-24)

首版:TCP 客户端+服务端、UDP 客户端+服务端+广播(局域网设备发现),事件式收发 + 自动背压可观测。App-Android。


平台兼容性

uni-app x(5.14)

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

nex-socket 本地网络通信

TCP 客户端 + 服务端、UDP 客户端 + 服务端 + 广播(局域网设备发现)。高性能原生网络核,事件式收发,全程离线、无三方 SDK。

平台

  • App-Android:全能力。
  • App-iOS:下版本解锁(本版矩阵标不支持)。
  • H5 / 小程序:不支持(raw socket 为 App 端原生能力,调用抛 UNSUPPORTED;用 platformCapabilities().supported 提前分支)。

事件模型(重要)

所有 inbound(新连接 / 收数据 / UDP 报文 / 断线 / 错误)进内部有界队列,JS 侧周期性调用 drainEvents(max) 拉取(如 setInterval 每 50–100ms),返回 JSON 字符串

const engine = createSocketEngine()
const srv = engine.tcpListen(0)          // { id, port }
const conn = engine.tcpConnect('127.0.0.1', srv.port, 1000)
setInterval(() => {
  const evs = JSON.parse(engine.drainEvents(64)) // SocketEvent[]
  for (const ev of evs) {
    if (ev.type === 'accepted')     { /* ev.connId, ev.peer */ }
    else if (ev.type === 'data')    { /* ev.connId, ev.bytes: number[] */ }
    else if (ev.type === 'datagram'){ /* ev.sockId, ev.from, ev.bytes */ }
    else if (ev.type === 'disconnected') { /* ev.connId, ev.reason */ }
    else if (ev.type === 'error')   { /* ev.id, ev.msg */ }
  }
}, 80)
engine.tcpSend(conn, [104, 105])         // 发字节
engine.closeConn(conn)

诚实边界

  • 后台持久性:前台可靠;应用退后台后 socket 存活受系统 Doze / 后台限制 / OEM ROM 影响,需前台服务 / 保活配合。不承诺后台常驻。
  • 背压:内部队列满会丢最旧事件并计数,droppedCount() 可观测(持续 >0 说明 drainEvents 调用太慢)。
  • 错误:Android 端连接/绑定/收发失败抛异常;iOS 端返回哨兵值(tcpConnect=-1 / bound.id=-1)+ console.error(双端差异)。

非目标

不含 MQTT(见 nex-mqtt)/ modbus(见 nex-modbus)/ BLE / TLS 证书管理 / P2P NAT 穿透。

隐私、权限声明

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

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

插件不采集任何数据。所有网络通信均在本地设备与局域网内完成,无任何数据上传。

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

暂无用户评论。