TCP插件API文档(Uniapp)
    正在准备搜索索引...

    类 UtsTcpServerManager

    TCP服务管理器。封装的TCP服务器的相关操作,包括:创建服务器、销毁服务器,发送消息,获取在线客户端等能力。

    tickstep

    1.0.2

    // 创建一个TCP服务器实例
    const tcpServer = new UtsTcpServerManager();
    // 启动服务
    tcpServer.createTcpServer(
    // 配置
    {
    listenPort: 18897,
    dataType: "text", // 接收的数据格式,支持:text-UTF8字符串,hex-十六进制HEX字符串,byte-二进制字节数组
    backlog: 100,
    soTimeout: 0,
    receiveBufferSize: 4096,
    sendBufferSize: 4096,
    tcpKeepAlive: true,
    },
    // 回调
    {
    // 客户端建立连接
    onConnected(session) {
    log("客户端已连接:", session)
    },
    // 客户端断开链接
    onDisconnected(session) {
    log("客户端断开链接:", session)
    },
    // 接受到客户端发送过来的数据消息
    onReceivedData(session, message) {
    log("接收到客户端消息:", session, message)
    tcpServer.sendMessage({
    sessionId: session.sessionId,
    dataType: "text",
    data: "this is server reply",
    })
    },
    // 错误消息
    onErrorStr(errorMsg) {
    log("TCP错误消息:", errorMsg)
    },
    },
    errMsg => {
    log("创建TCP服务结果回调:", errMsg)
    })
    索引

    构造函数

    方法

    • 发送消息给指定客户端 该方法为了提高性能和响应性,使用的是线程进行异步发送消息

      参数

      返回 void

      // 发送文本消息
      tcpServer.sendMessage({
      sessionId: "session-1",
      dataType: "text",
      data: "hello, world",
      }, (errMsg : UtsErrorMessage) => {
      console.log("回调结果:", errMsg);
      })
      // 发送byte字节消息
      tcpServer.sendMessage({
      sessionId: "session-1",
      dataType: "byte",
      byteData: [0x68, 0x65, 0x6c,0x6c,0x6f,0x2c,0x31, 0x32, 0x33],
      }, (errMsg : UtsErrorMessage) => {
      console.log("回调结果:", errMsg);
      })
      // 使用结果回调可以在你的代码中方便的封装成Promise进行异步调用
      // 例如:发送消息的Promise封装
      function sendMsgPromise() {
      return new Promise<string>((resolve, reject) => {
      tcpServer.sendMessage({
      sessionId: "session-1",
      dataType: "text",
      data: "123abc",
      }, (errMsg : UtsErrorMessage) => {
      console.log("回调结果:", errMsg);
      if (errMsg.code == 0) {
      resolve("success")
      } else {
      reject(errMsg.msg)
      }
      })
      })
      }
    • 广播消息给所有在线客户端。
      该方法为了提高性能和响应性,使用的是线程进行异步发送消息

      参数

      返回 void

      // 广播文本消息
      tcpServer.broadcastMessage({
      dataType: "text",
      data: "hello, client",
      })
    • 删除指定客户端会话,并关闭客户端链接

      参数

      • sessionId: string

        需要关闭的客户端会话ID

      返回 void

    • TCP服务器是否运行中

      返回 boolean

      true-运行中,false-未运行

    • 关闭TCP服务器,并关闭所有在线中的TCP客户端链接

      返回 void