From b85d1d0b0a33190fc820adf4af45f98499b274cf Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 05 八月 2025 22:46:57 +0800
Subject: [PATCH] 提交推送服务

---
 MessagePushTravel/src/main/java/com/sinata/push/util/applets/WebSocketHandler.java |   34 ++++++++++++++++++++++++----------
 1 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/MessagePushTravel/src/main/java/com/sinata/push/util/applets/WebSocketHandler.java b/MessagePushTravel/src/main/java/com/sinata/push/util/applets/WebSocketHandler.java
index 5d3b425..d4843ce 100644
--- a/MessagePushTravel/src/main/java/com/sinata/push/util/applets/WebSocketHandler.java
+++ b/MessagePushTravel/src/main/java/com/sinata/push/util/applets/WebSocketHandler.java
@@ -1,6 +1,7 @@
 package com.sinata.push.util.applets;
 
 import com.alibaba.fastjson.JSONObject;
+import com.sinata.push.util.SpringUtil;
 import com.sinata.push.util.echo.Method;
 import com.sinata.push.util.echo.NettyChannelMap;
 import com.sinata.push.util.echo.NettyMsg;
@@ -15,6 +16,7 @@
 import io.netty.handler.timeout.IdleState;
 import io.netty.handler.timeout.IdleStateEvent;
 import io.netty.util.CharsetUtil;
+import org.springframework.data.redis.core.StringRedisTemplate;
 
 import java.util.HashMap;
 
@@ -23,7 +25,9 @@
     //用于websocket握手的处理类
     private WebSocketServerHandshaker handshaker;
 
-    private static final String WEB_SOCKET_URL = "wss://localhost:8808/websocket";
+    private static final String WEB_SOCKET_URL = "ws://localhost:8888/websocket";
+    
+//    private NettyWebSocketController nettyWebSocketController = SpringUtil.getObject(NettyWebSocketController.class);
 
 
 
@@ -73,8 +77,13 @@
     }
 
     private void handleHttpRequest(ChannelHandlerContext ctx, FullHttpRequest req) {
+        HttpHeaders headers = req.headers();
+        headers.names().forEach(name -> {
+            System.out.println(name + ":" + headers.get(name));
+        });
         // Http解码失败,向服务器指定传输的协议为Upgrade:websocket
         if(!req.getDecoderResult().isSuccess() || !("websocket").equals(req.headers().get("Upgrade"))){
+            System.out.println("Http解码失败");
             sendHttpResponse(ctx, req, new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.BAD_REQUEST));
             return;
         }
@@ -83,9 +92,11 @@
         // 根据工厂类和HTTP请求创建握手类
         handshaker = wsFactory.newHandshaker(req);
         if (handshaker == null) {
+            System.out.println("不支持websocket");
             // 不支持websocket
             WebSocketServerHandshakerFactory.sendUnsupportedWebSocketVersionResponse(ctx.channel());
         } else {
+            System.out.println("通过它构造握手响应消息返回给客户端");
             // 通过它构造握手响应消息返回给客户端
             handshaker.handshake(ctx.channel(), req);
         }
@@ -112,18 +123,21 @@
 
         //给连接的客户端返回数据
         //返回心跳
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("code", 200);
-        jsonObject.put("method", Method.ok);
-        jsonObject.put("msg", "SUCCESS");
-        jsonObject.put("data", new JSONObject());
-        TextWebSocketFrame tws = new TextWebSocketFrame(jsonObject.toJSONString());
+//        JSONObject jsonObject = new JSONObject();
+//        jsonObject.put("code", 200);
+//        jsonObject.put("method", Method.ok);
+//        jsonObject.put("msg", "SUCCESS");
+//        jsonObject.put("data", new JSONObject());
+//        TextWebSocketFrame tws = new TextWebSocketFrame(jsonObject.toJSONString());
 //        ctx.channel().writeAndFlush(tws);
-
-        new NettyWebSocketController().JudgeOperation(ctx,requestmsg);//小程序心跳处理
+        String s = NettyMsg.setMsg(Method.ok, new HashMap<String, Object>());
+        ctx.writeAndFlush(Unpooled.copiedBuffer((s).getBytes()));
+        
+    
+//        nettyWebSocketController.JudgeOperation(ctx,requestmsg);//小程序心跳处理
 
         // 群发服务端心跳响应
-        Global.group.writeAndFlush(new TextWebSocketFrame((tws).text()));
+//        Global.group.writeAndFlush(new TextWebSocketFrame((tws).text()));
     }
 
     private void sendHttpResponse(ChannelHandlerContext ctx, FullHttpRequest req, FullHttpResponse res) {

--
Gitblit v1.7.1