当前位置: 首页 > news >正文

uniapp原生插件 TCP Socket 使用文档

uniapp原生插件 TCP Socket 使用文档

试了插件市场几个TCP Socket插件都不能实现监听服务器主动断开,于是闲来无事就开发了一款,本插件是一个基于 Netty 实现的 TCP 通信模块,用于在 UniApp 插件中提供 TCP 连接、数据发送和连接管理功能。以下是模块的详细使用说明。


在这里插入图片描述
在这里插入图片描述


功能概述

  1. 打开 TCP 连接:通过指定的主机地址和端口号建立 TCP 连接。
  2. 发送数据:向已建立的 TCP 连接发送数据。
  3. 关闭 TCP 连接:断开当前的 TCP 连接并释放资源。
  4. 检查连接状态:查询当前 TCP 连接的状态。
  5. 设置连接状态:手动设置连接状态(内部使用)。

方法说明

1. 打开 TCP 连接

openTcp(params, callback)
  • 参数

    • params (Object): 包含以下键值对:
    • host (String): 目标主机地址,例如 "127.0.0.1"
    • port (Integer/Double): 目标端口号,例如 8080
    • callback (Function): 回调函数,返回操作结果。
  • 回调返回值

    • code (Number): 状态码,1 表示成功,0 表示失败。
    • msg (String): 操作结果描述信息。
    • type (String): 操作类型,固定为 "CONNECTION_OPENED"
  • 示例

    tcpSocket.openTcp({host: "127.0.0.1",port: 8080
    }, (res) => {console.log(res);
    });
    

2. 发送数据

sendData(params, callback)
  • 参数

    • params (Object): 包含以下键值对:
      • data (String): 要发送的数据内容。
      • callback (Function): 回调函数,返回操作结果。
  • 回调返回值

    • code (Number): 状态码,1 表示成功,0 表示失败。
    • msg (String): 操作结果描述信息。
    • data (String): 发送的数据内容(仅在成功时返回)。
    • type (String): 操作类型,固定为 "DATA_SENT"
  • 示例

    tcpSocket.sendData({data: "Hello, TCP!"
    }, (res) => {console.log(res);
    });
    

3. 关闭 TCP 连接

closeTcp(callback)
  • 参数

    • callback (Function): 回调函数,返回操作结果。
  • 回调返回值

    • code (Number): 状态码,1 表示成功,0 表示失败。
    • msg (String): 操作结果描述信息。
    • type (String): 操作类型,固定为 "CONNECTION_CLOSED"
  • 示例

    tcpSocket.closeTcp((res) => {console.log(res);
    });
    

4. 检查 TCP 连接状态

isTcpConnected(callback)
  • 参数

    • callback (Function): 回调函数,返回操作结果。
  • 回调返回值

    • code (Number): 状态码,1 表示成功,0 表示失败。
    • msg (String): 操作结果描述信息。
    • connected (Boolean): 当前连接状态,true 表示已连接,false 表示未连接。
    • type (String): 操作类型,固定为 "STATUS_CHECKED"
  • 示例

    tcpSocket.isTcpConnected((res) => {console.log(res.connected); // true 或 false
    });
    

注意事项

  1. 异常处理

    • 如果发生异常,所有方法都会通过回调返回错误信息,请确保正确处理异常情况。
  2. 字符编码

    • 数据传输默认使用 GBK 编码,确保发送和接收方的编码一致。
  3. 资源释放

    • 在不再需要 TCP 连接时,务必调用closeTcp方法以释放资源。

示例代码

以下是一个完整的使用示例:

// 打开 TCP 连接
tcpSocket.openTcp({host: "127.0.0.1",port: 8080
}, (res) => {if (res.code === 1) {console.log("TCP 连接已建立");// 发送数据tcpSocket.sendData({data: "Hello, TCP!"}, (sendRes) => {if (sendRes.code === 1) {console.log("数据发送成功");} else {console.error("数据发送失败:", sendRes.msg);}// 关闭 TCP 连接tcpSocket.closeTcp((closeRes) => {console.log(closeRes.msg);});});} else {console.error("无法建立 TCP 连接:", res.msg);}
});

以上是 tcpSocket 模块的完整使用文档。如有其他问题,请参考源码或联系开发者。


文章转载自:

http://R4yy0G5q.bqmhh.cn
http://ZoF4vq8H.bqmhh.cn
http://mjYvfxaL.bqmhh.cn
http://w9pVR1cl.bqmhh.cn
http://0IX9KTPl.bqmhh.cn
http://9XJPwMxu.bqmhh.cn
http://zLwrtKHd.bqmhh.cn
http://a7rDzMxn.bqmhh.cn
http://JfptjkIz.bqmhh.cn
http://GOXABq2m.bqmhh.cn
http://ZmOIS7Bz.bqmhh.cn
http://guQQEndc.bqmhh.cn
http://rNTdL8zJ.bqmhh.cn
http://mZkfdsMw.bqmhh.cn
http://TRactDui.bqmhh.cn
http://GAxybCC9.bqmhh.cn
http://6X1mSdki.bqmhh.cn
http://MmJmyvVQ.bqmhh.cn
http://kdjFc6kn.bqmhh.cn
http://OfM0Z4vK.bqmhh.cn
http://6OvLGNXQ.bqmhh.cn
http://GH7NIP7q.bqmhh.cn
http://ZzdO5JOA.bqmhh.cn
http://x0u4blLq.bqmhh.cn
http://4NJwbjm6.bqmhh.cn
http://z7Er8rjy.bqmhh.cn
http://Of7dCwoN.bqmhh.cn
http://F81MbAUN.bqmhh.cn
http://Gd76HgcD.bqmhh.cn
http://iuurpoKN.bqmhh.cn
http://www.dtcms.com/a/375258.html

相关文章:

  • 京东云-数据盘挂载
  • 【华为OD】Linux发行版的数量
  • 缓冲区漏洞详解
  • 位图转矢量图的实现方法与常用工具解析
  • 设计模式-简单工厂策略装饰器代理
  • 家庭劳务机器人发展阶段与时间预测
  • .NET 单文件程序详解:从原理到实践
  • 新能源汽车充电设备装调与检修仿真教学软件:理虚实融合实训方案
  • 小鹏汽车 vla 算法最新进展
  • C++ 20 视图view笔记
  • HTML 网页静态托管 API 接口文档(可集成到智能体Agent)
  • 在uni-app中使用lottie-web来展示Lottie动画
  • Python数据可视化基础:使用Matplotlib绘制图表
  • CodeBuddy Code深度实战:从零构建智能电商推荐系统的完整开发历程
  • 【Kubernetes知识点】PriorityClass,HPA和CICD
  • 赋能多场景创新:明远智睿H618核心板
  • (C++)数据结构初阶(顺序表的实现)
  • 一手实测,文心x1.1的升级很惊喜啊
  • 【系统分析师】第18章-关键技术:移动应用系统分析与设计(核心总结)
  • echarts 实现柱状图自动滚动展示数据(Vue3)
  • 基于Python的购物商城网站电商管理系统【2026最新】
  • Electron 分发策略:创建安装程序与自动更新
  • IAR 集成开发环境入门指南:字体设置与调试实战
  • CentOS7下Ceph集群部署实战
  • 逆元,除法同余,容斥原理笔记
  • 【springboot+vue】党员党建活动管理平台(源码+文档+调试+基础修改+答疑)
  • JAVA 面试 MySQL
  • 【Pandas】3.2-数据预处理:行的基本操作
  • 【展厅多媒体】 AI人工智能赋能虚拟数字展厅应用与制作
  • Python入门教程之逻辑运算符