Showing
4 changed files
with
27 additions
and
12 deletions
... | ... | @@ -156,7 +156,7 @@ public class TcpTransportHandler extends ChannelInboundHandlerAdapter implements |
156 | 156 | if (msg instanceof ByteBuf) { |
157 | 157 | ByteBuf message = (ByteBuf) msg; |
158 | 158 | byte[] byteMsg = ByteUtils.buf2Bytes(message); |
159 | - String msgStr = ByteUtils.bytesToHex(byteMsg); | |
159 | + String msgStr = ByteUtils.bytesToStr(byteMsg); | |
160 | 160 | log.error("会话【{}】收到设备【{}】来自【{}】数据【{}】", sessionId, deviceSessionCtx.getDeviceId(), address, msgStr); |
161 | 161 | deviceSessionCtx.setChannel(ctx); |
162 | 162 | if (deviceSessionCtx.getDeviceInfo() == null || deviceSessionCtx.getDeviceProfile() == null) { |
... | ... | @@ -589,15 +589,10 @@ public class TcpTransportHandler extends ChannelInboundHandlerAdapter implements |
589 | 589 | * @return |
590 | 590 | */ |
591 | 591 | private ChannelFuture pushDeviceMsg(ChannelHandlerContext ctx, String message) { |
592 | - try { | |
593 | - byte[] payloadInBytes = message.getBytes(ByteUtils.UTF_8); | |
594 | - ByteBuf payload = Unpooled.copiedBuffer(payloadInBytes); | |
592 | + byte[] payloadInBytes = ByteUtils.strToBytes(message); | |
593 | + ByteBuf payload = Unpooled.copiedBuffer(payloadInBytes); | |
595 | 594 | |
596 | - return ctx.writeAndFlush(payload); | |
597 | - } catch (UnsupportedEncodingException e) { | |
598 | - log.error(e.getMessage(), e); | |
599 | - throw new RuntimeException(e); | |
600 | - } | |
595 | + return ctx.writeAndFlush(payload); | |
601 | 596 | } |
602 | 597 | |
603 | 598 | ... | ... |
common/transport/tcp/src/main/java/org/thingsboard/server/transport/tcp/adaptors/JsonTcpAdaptor.java
... | ... | @@ -126,8 +126,15 @@ public class JsonTcpAdaptor implements TcpTransportAdaptor { |
126 | 126 | |
127 | 127 | @Override |
128 | 128 | public Optional<TcpDownEntry> convertToPublish(TcpDeviceWareSessionContext ctx, TransportProtos.ToDeviceRpcRequestMsg rpcRequest) throws ExecutionException, InterruptedException { |
129 | - ListenableFuture<Object> result = ctx.getContext().getJsEngine().invokeFunction(ctx.getRpcScriptId(), rpcRequest.getParams()); | |
130 | - return Optional.of(Futures.transform(result, t -> JacksonUtil.fromString(t.toString(), TcpDownEntry.class), MoreExecutors.directExecutor()).get()); | |
129 | +// ListenableFuture<Object> result = ctx.getContext().getJsEngine().invokeFunction(ctx.getRpcScriptId(), rpcRequest.getParams()); | |
130 | +// return Optional.of(Futures.transform(result, t -> JacksonUtil.fromString(t.toString(), TcpDownEntry.class), MoreExecutors.directExecutor()).get()); | |
131 | + String payload = rpcRequest.getParams();//methodThingskit | |
132 | + if (!payload.startsWith("{") && !payload.endsWith("}")) { | |
133 | + payload = payload.replace("\"","");; | |
134 | + } | |
135 | + TcpDownEntry data = new TcpDownEntry(); | |
136 | + data.setDatas(payload); | |
137 | + return Optional.of(data); | |
131 | 138 | } |
132 | 139 | |
133 | 140 | @Override | ... | ... |
... | ... | @@ -2,6 +2,7 @@ package org.thingsboard.server.transport.tcp.adaptors; |
2 | 2 | |
3 | 3 | import lombok.AllArgsConstructor; |
4 | 4 | import lombok.Data; |
5 | +import org.thingsboard.server.common.data.yunteng.enums.TcpDataTypeEnum; | |
5 | 6 | |
6 | 7 | import java.io.Serializable; |
7 | 8 | import java.util.UUID; |
... | ... | @@ -10,7 +11,6 @@ import java.util.UUID; |
10 | 11 | * 下行脚本 |
11 | 12 | */ |
12 | 13 | @Data |
13 | -@AllArgsConstructor | |
14 | 14 | public class TcpDownEntry implements Serializable { |
15 | 15 | |
16 | 16 | /** |
... | ... | @@ -25,4 +25,7 @@ public class TcpDownEntry implements Serializable { |
25 | 25 | * 下发给设备的最终内容 |
26 | 26 | */ |
27 | 27 | private String datas; |
28 | + | |
29 | + /**下发给设备的字符串编码*/ | |
30 | + private TcpDataTypeEnum dataType; | |
28 | 31 | } | ... | ... |