diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2015-07-31 10:49:32 +1200 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2015-07-31 10:49:32 +1200 |
commit | c354057c1e887e73159a4c28ce038c35370df5b6 (patch) | |
tree | 9b6736089235c6147c3b3cf16779753d265799a4 /src | |
parent | aa7e7dfed63515350dd30cd14fb173b5a5fe52ac (diff) | |
download | trackermap-server-c354057c1e887e73159a4c28ce038c35370df5b6.tar.gz trackermap-server-c354057c1e887e73159a4c28ce038c35370df5b6.tar.bz2 trackermap-server-c354057c1e887e73159a4c28ce038c35370df5b6.zip |
Implement Box ACK response
Diffstat (limited to 'src')
-rw-r--r-- | src/org/traccar/protocol/BoxProtocol.java | 2 | ||||
-rw-r--r-- | src/org/traccar/protocol/BoxProtocolDecoder.java | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/org/traccar/protocol/BoxProtocol.java b/src/org/traccar/protocol/BoxProtocol.java index 7e5f83ebe..ae8207002 100644 --- a/src/org/traccar/protocol/BoxProtocol.java +++ b/src/org/traccar/protocol/BoxProtocol.java @@ -18,6 +18,7 @@ package org.traccar.protocol; import org.jboss.netty.bootstrap.ServerBootstrap; import org.jboss.netty.channel.ChannelPipeline; import org.jboss.netty.handler.codec.string.StringDecoder; +import org.jboss.netty.handler.codec.string.StringEncoder; import org.traccar.BaseProtocol; import org.traccar.CharacterDelimiterFrameDecoder; import org.traccar.TrackerServer; @@ -37,6 +38,7 @@ public class BoxProtocol extends BaseProtocol { protected void addSpecificHandlers(ChannelPipeline pipeline) { pipeline.addLast("frameDecoder", new CharacterDelimiterFrameDecoder(1024, '\r')); pipeline.addLast("stringDecoder", new StringDecoder()); + pipeline.addLast("stringEncoder", new StringEncoder()); pipeline.addLast("objectDecoder", new BoxProtocolDecoder(BoxProtocol.this)); } }); diff --git a/src/org/traccar/protocol/BoxProtocolDecoder.java b/src/org/traccar/protocol/BoxProtocolDecoder.java index 2230b1356..7f915824d 100644 --- a/src/org/traccar/protocol/BoxProtocolDecoder.java +++ b/src/org/traccar/protocol/BoxProtocolDecoder.java @@ -61,8 +61,16 @@ public class BoxProtocolDecoder extends BaseProtocolDecoder { String id = sentence.substring(index, sentence.indexOf(',', index)); identify(id, channel); } + + else if (sentence.startsWith("E,")) { + + if (channel != null) { + channel.write("A," + sentence.substring(2) + "\r"); + } + + } - else if (hasDeviceId() && sentence.startsWith("L,")) { + else if (sentence.startsWith("L,") && hasDeviceId()) { // Parse message Matcher parser = pattern.matcher(sentence); |