TCP

本文介绍登云梯JS开发框架中TCP组件所提供的相关方法说明,支持的硬件平台列表以及参考示例代码。

说明

目前TCP组件只支持了TCP Client功能。

硬件平台

产品型号

是否支持

硬件类型

HaaS600Kit

开发板

HaaS510

DTU

HaaS520

DTU

HaaS530

DTU

HaaS531

DTU

HaaS632-LT32V

模组

HaaS600-EC600S

模组

HaaS600-EC600N

模组

HaaS600-EC600U

模组

HaaS600-N715

模组

createClient(Object options)

创建一个TCP Client实例,创建TCP客户端时会连接TCP Server。

入参

Object类型,其属性有:

属性

类型

是否必填

描述

host

String

需要连接的IP地址或者域名。

port

Number

需要连接的端口号。

success

Function

连接成功的回调函数。

fail

Function

连接失败的回调函数。

返回

一个TCP Client实例。

TCP Client实例

事件

描述

'close'

当Socket关闭时,触发'close'事件。

'connect'

当连接到Socket服务器时,触发'connect'事件。

'disconnect'

当连接断开时,触发'disconnect'事件。服务端断开连接、主动断开连接、网络发生异常等都会触发。

'message'

当Socket接收到数据时,触发'message'事件。

'error'

当Socket通信过程中遇到错误时,触发'error'事件。

'message'事件回调函数的参数有:

属性

类型

描述

data

ArrayBuffer

接收到的TCP数据。

datalen

Number

接收到的TCP数据长度。

'error'事件的回调函数参数有:

属性

类型

描述

error

String

错误信息。

TCPClient.send(Object option)

向TCP Server发送消息。

入参

Object类型属性有:

属性

类型

是否必填

描述

message

String | ArrayBuffer

要发送的数据。

success

Function

发送成功的回调函数。

fail

Function

发送失败的回调函数。

返回

无。

TCPClient.reconnect()

当发生'disconnect'事件时,可以使用该接口主动连接。

入参

无。

返回

无。

TCPClient.close()

关闭TCP Client实例,相当于销毁。

入参

无。

返回

无。

TCPClient.on(String event, Function callback)

注册TCP Client事件回调函数。

入参

属性

类型

是否必填

描述

event

String

注册的事件名称。

callback

Function

监听事件的回调函数。

返回

无。

示例代码

import * as tcp from 'tcp' 

var tcpClient = tcp.createClient({
  host: '100.81.240.32',
  port: 50000,
  success: function() {
    console.log('tcp client connect success');
  },
  fail: function() {
    console.log('tcp client connect failed');
  }
});

tcpClient.on('message', function(data, datalen) {
  console.log('tcp receive datalen: ' + datalen + ' payload: ' + data);
  tcpClient.close();
});

tcpClient.on('close', function() {
  console.log('tcp client closed');
});

tcpClient.on('connect', function() {
  console.log('tcp client connected');
});

tcpClient.on('disconnect', function() {
  console.log('tcp client disconnected');
});

tcpClient.on('error', function(err) {
  console.log('tcp client error: ' + err);
});

tcpClient.send({
    message: 'hello, this is tcp client test',
    success: function() {
      console.log('tcp send success');
    },
    fail: function() {
      console.log('tcp send failed');
    }
});