From a83af4ba9fcf587535dd0afb1d9362a003e7ed02 Mon Sep 17 00:00:00 2001 From: zhouhao Date: Wed, 2 Nov 2022 16:57:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dtcp=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E5=86=85=E5=AD=98=E6=B3=84=E6=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../community/network/tcp/client/VertxTcpClient.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jetlinks-components/network-component/tcp-component/src/main/java/org/jetlinks/community/network/tcp/client/VertxTcpClient.java b/jetlinks-components/network-component/tcp-component/src/main/java/org/jetlinks/community/network/tcp/client/VertxTcpClient.java index 13eb2fca..75aad9e5 100644 --- a/jetlinks-components/network-component/tcp-component/src/main/java/org/jetlinks/community/network/tcp/client/VertxTcpClient.java +++ b/jetlinks-components/network-component/tcp-component/src/main/java/org/jetlinks/community/network/tcp/client/VertxTcpClient.java @@ -1,5 +1,7 @@ package org.jetlinks.community.network.tcp.client; +import io.netty.buffer.ByteBuf; +import io.netty.util.ReferenceCountUtil; import io.vertx.core.buffer.Buffer; import io.vertx.core.net.NetClient; import io.vertx.core.net.NetSocket; @@ -78,9 +80,11 @@ public class VertxTcpClient implements TcpClient { sink.error(new SocketException("socket closed")); return; } - Buffer buffer = Buffer.buffer(message.getPayload()); + ByteBuf buf = message.getPayload(); + Buffer buffer = Buffer.buffer(buf); int len = buffer.length(); socket.write(buffer, r -> { + ReferenceCountUtil.safeRelease(buf); if (r.succeeded()) { keepAlive(); sink.success();