无法在离子电缆中发送超过20个字节

时间:2018-04-17 13:30:11

标签: ionic-framework bluetooth-lowenergy

我正在尝试发送超过20个字节的离子本机而没有成功, 首先,我发送没有回应然后这个回复,但仍然没有工作 我是怎么做到的?

var newSend=this.myInput.match(/.{1,19}/g);
console.log(newSend);
for(var i = 0 ; i<newSend.length ; i++){

  var ddd = newSend[i].buffer;
  this.sendingtext=newSend[i];
console.log(i,newSend.length);
if(i == (newSend.length-1)){
  this.ble.write(bID, bService, bCharacteristic, ddd).then(
    function(data){
    //  console.log( this.myInput);
      console.log("write",data);


    }
  );
}else{
  this.ble.writeWithoutResponse(bID, bService, bCharacteristic, ddd).then(
    function(data){
    //  console.log( this.myInput);
      console.log("writeWithoutResponse",data);


    }
  );
}

2 个答案:

答案 0 :(得分:0)

这是不可接受的。 BLE是低能量蓝牙,因此它的协议限制命令的数据包大小。通常,您可以通过BLE写入发送的最大有效负载大小为20字节

请点击此链接,详细了解如何通过BLE发送更大的20个字节

Android: Sending data >20 bytes by BLE

答案 1 :(得分:0)

这是一种误解,“无应答的写作”没有给出回应;它确实。 你只需要等待回应。 它旨在减少连续数据包之间的时间, 我们可以在客户端和服务器之间发送和接收数据,而无需在每条消息之后等待响应。

有一些限制:

您必须遵守服务器的MTU。

服务器的接收缓冲区必须足够大,以容纳传入的数据包。

服务器必须有足够的时间清空接收缓冲区。