diff options
-rw-r--r-- | src/org/traccar/protocol/WristbandProtocol.java | 2 | ||||
-rw-r--r-- | src/org/traccar/protocol/WristbandProtocolDecoder.java | 8 |
2 files changed, 3 insertions, 7 deletions
diff --git a/src/org/traccar/protocol/WristbandProtocol.java b/src/org/traccar/protocol/WristbandProtocol.java index 1e5ef2c01..632eb6a42 100644 --- a/src/org/traccar/protocol/WristbandProtocol.java +++ b/src/org/traccar/protocol/WristbandProtocol.java @@ -16,6 +16,7 @@ package org.traccar.protocol; import io.netty.handler.codec.LengthFieldBasedFrameDecoder; +import io.netty.handler.codec.string.StringEncoder; import org.traccar.BaseProtocol; import org.traccar.PipelineBuilder; import org.traccar.TrackerServer; @@ -27,6 +28,7 @@ public class WristbandProtocol extends BaseProtocol { @Override protected void addProtocolHandlers(PipelineBuilder pipeline) { pipeline.addLast(new LengthFieldBasedFrameDecoder(1024, 3, 2, 3, 0)); + pipeline.addLast(new StringEncoder()); pipeline.addLast(new WristbandProtocolDecoder(WristbandProtocol.this)); } }); diff --git a/src/org/traccar/protocol/WristbandProtocolDecoder.java b/src/org/traccar/protocol/WristbandProtocolDecoder.java index 84aeb6804..a19dcad31 100644 --- a/src/org/traccar/protocol/WristbandProtocolDecoder.java +++ b/src/org/traccar/protocol/WristbandProtocolDecoder.java @@ -16,7 +16,6 @@ package org.traccar.protocol; import io.netty.buffer.ByteBuf; -import io.netty.buffer.Unpooled; import io.netty.channel.Channel; import org.traccar.BaseProtocolDecoder; import org.traccar.DeviceSession; @@ -47,12 +46,7 @@ public class WristbandProtocolDecoder extends BaseProtocolDecoder { if (channel != null) { String sentence = String.format("YX%s|%s|0|{F%d#%s}\r\n", imei, version, type, data); - ByteBuf response = Unpooled.buffer(); - response.writeBytes(new byte[]{0x00, 0x01, 0x02}); - response.writeShort(sentence.length()); - response.writeCharSequence(sentence, StandardCharsets.US_ASCII); - response.writeBytes(new byte[]{(byte) 0xFF, (byte) 0xFE, (byte) 0xFC}); - channel.writeAndFlush(new NetworkMessage(response, channel.remoteAddress())); + channel.writeAndFlush(new NetworkMessage(sentence, channel.remoteAddress())); } } |