From 8a340545d76af29dd85d4be2812353294d236011 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 14 八月 2024 12:36:51 +0800
Subject: [PATCH] #

---
 app/src/main/java/com/example/agvcontroller/socket/NettyServerHandler.java |   24 ++++++++++--------------
 1 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/app/src/main/java/com/example/agvcontroller/socket/NettyServerHandler.java b/app/src/main/java/com/example/agvcontroller/socket/NettyServerHandler.java
index 0076379..73271c0 100644
--- a/app/src/main/java/com/example/agvcontroller/socket/NettyServerHandler.java
+++ b/app/src/main/java/com/example/agvcontroller/socket/NettyServerHandler.java
@@ -3,6 +3,7 @@
 import java.nio.charset.StandardCharsets;
 
 import io.netty.buffer.ByteBuf;
+import io.netty.buffer.ByteBufUtil;
 import io.netty.buffer.Unpooled;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelHandlerContext;
@@ -44,19 +45,6 @@
     public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
         // 澶勭悊鎺ユ敹鍒扮殑娑堟伅
         ByteBuf byteBuf = (ByteBuf) msg;
-        //byte[] data = new byte[byteBuf.readableBytes()];
-        //byteBuf.readBytes(data);
-        //String received = new String(data, StandardCharsets.UTF_8);
-        //System.out.println("Received from client: " + received);
-        //
-        //// 鍥炲娑堟伅
-        ////ByteBuf response = Unpooled.copiedBuffer("Response from server", StandardCharsets.UTF_8);
-        ////ctx.writeAndFlush(response);
-        //
-        //byte[] responseHex = hexStringToByteArray("48656c6c6f20576f726c64"); // "Hello World" in hex
-        //ByteBuf response = Unpooled.wrappedBuffer(responseHex);
-        //ctx.writeAndFlush(response);
-
         try {
             while (byteBuf.isReadable()) {
                 byte[] bytes = new byte[byteBuf.readableBytes()];
@@ -90,7 +78,15 @@
     }
 
     public static void sendMessageToClient(String clientId, byte[] message) {
-        Log.d(TAG, "Client " + clientId + " is not connected");
+        Channel channel = channelMap.get(clientId);
+        if (channel != null && channel.isActive()) {
+            ByteBuf buf = Unpooled.wrappedBuffer(message);
+            String upperCase = ByteBufUtil.hexDump(buf).toUpperCase();
+            Log.d(TAG, "upperCase " + upperCase);
+            channel.writeAndFlush(buf);
+        } else {
+            Log.d(TAG, "Client " + clientId + " is not connected");
+        }
     }
 
     @Override

--
Gitblit v1.9.1