README.md 1.82 KB

MoeTcpClient TCP客户端

引入方式

const moeTcpClient = uni.requireNativePlugin("moe-tcp-client");

方法

建立连接

MoeTcpClient.connect({
  ip: 'xxx.xxx.xxx.xxx',
  port: 6900
}, result => {
  // 连接结果
})

断开连接

MoeTcpClient.disconnect();

判断是否处于连接

MoeTcpClient.isConnected(res => {

});

发送字符串消息

MoeTcpClient.sendStr({
  message: '发送的内容'
});

发送Hex字符串消息

MoeTcpClient.sendHexStr({
  message: '发送的内容'
});

注册消息监听

监听服务端消息

MoeTcpClient.onReceive(res => {

});

监听通讯断连

MoeTcpClient.onDisconnect(res => {

});

服务端消息res返回值示例说明

{
    "code": 1,
    "data": "FF001122CCDD",
    "dataBinary": "RkYwMDExMjJDQ0REDQo=",
    "msg": "收到消息"
}
字段 字段类型 解析备注
code int 错误码:1正常、0失败
msg String 消息反馈
data String 消息数据(字节流UTF8编码后的字符串)
dataBinary String 消息数据原始字节流(uniapp会自动编码成base64字符串)

如果服务端消息是文本消息,使用data即可 如果服务端消息是十六进制数据,为防止编码问题,可直接使用 dataBinary 转换

下面给出一个常用的base64字符串转Hex字符串方法

/**
 * base64字符串转Hex字符串
 * @params base64Str
 */
let base64ToHexStr = function(base64Str){
  let binaryStr = atob(base64Str);
  let hexStr = '';
  for (let i = 0; i < binaryStr.length; i++) {
    let hex = binaryStr.charCodeAt(i).toString(16);
    hexStr += ('0' + hex).slice(-2);
  }
  return hexStr;
}