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

uniapp原生插件 TCP Socket 利用文档

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://www.rkmt.cn/news/3714.html

相关文章:

  • 【PyQt5】实现输入延迟响应:3秒无输入后自动读取内容
  • Windows 自带的SSH中配置X11
  • 完整教程:技术小白如何快速的了解opentenbase?--把握四大特色
  • 9.13日模考总结
  • 高斯消元
  • uni-app iOS 性能监控全流程 多器具协作的实战优化指南
  • 十八、CPU的控制流:正常控制流和异常控制流
  • 使用 C# 设置 Excel 单元格格式 - 教程
  • 【ARM Cache 及 MMU 系列文章 6.1 -- Cache maintenance 指令及相关寄存器有哪些?】
  • 每日Java并发面试系列(5):基础篇(线程池的核心原理是什么、线程池大小设置为多少更合适、线程池哪几种类型?ThreadLocal为什么会导致内存泄漏?) - 实践
  • 模仿玩家习惯的简单AI系统:GoCap
  • 浅谈马拉车
  • 十七、异常和中断响应过程的时序图
  • 直播平台搭建,浏览器中的事件循环与Node中的事件循环 - 云豹科技
  • Redisson 分布式锁的实现原理 - 教程
  • ros2--service/服务--接口 - 教程
  • 深入解析:【Unity基础】枚举AudioType各个枚举项对应的音频文件类型
  • 【关注可白嫖源码】25046基于SpringBoot的少儿编程管理系统设计与达成
  • 工具链部署实用技巧 7|模型设计帧率推理时耗时与带宽分析
  • 基于Django的“社区爱心养老管理系统”设计与开发(源码+数据库+文档+PPT) - 实践
  • 实用指南:Excel转图片excel2img库bug修复:AttributeError ‘parent‘ 问题解决方案
  • 数据结构与算法-32.图-加权无向图最小生成树
  • 数据结构与算法-32.图-加权无向图
  • 拉格朗日反演定理(LIFT)
  • 深入解析:中国AI云市场报告:阿里云份额达35.8%,高于2至4名总和
  • 暑假周进度总结
  • 万能欧几里得算法
  • 直播软件源码,聊聊Java的异常机制问题 - 云豹科技
  • 2025 项目管理到底用什么软件?
  • 我就是我不一样的烟火