From f3c70289b1c491540a1173beebce77899b185ad5 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 15 Mar 2023 16:48:48 +0800
Subject: [PATCH] 模块管理
---
src/main/java/org/springblade/common/handler/SocketIOService.java | 65 ++++++++++++++------------------
1 files changed, 28 insertions(+), 37 deletions(-)
diff --git a/src/main/java/org/springblade/common/handler/SocketIOService.java b/src/main/java/org/springblade/common/handler/SocketIOService.java
index b6c88ec..209b963 100644
--- a/src/main/java/org/springblade/common/handler/SocketIOService.java
+++ b/src/main/java/org/springblade/common/handler/SocketIOService.java
@@ -41,18 +41,17 @@
private SocketIOServer socketIOServer;
/**
- * Spring IoC容器创建之后,在加载SocketIOServiceImpl Bean之后启动
+ * Spring IoC容器创建之后,在加载SocketIOConfiguration Bean之后启动
*
* @throws Exception
*/
@PostConstruct
private void autoStartup() throws Exception {
- log.info("启动Socket!!!!!!!!!!");
start();
}
/**
- * Spring IoC容器在销毁SocketIOServiceImpl Bean之前关闭,避免重启项目服务端口占用问题
+ * Spring IoC容器在销毁SocketIOConfiguration Bean之前关闭,避免重启项目服务端口占用问题
*
* @throws Exception
*/
@@ -62,56 +61,48 @@
}
public void start() {
- // 监听客户端连接
- socketIOServer.addConnectListener(client -> {
- String uid = getParamsByClient(client);
- if (uid != null) {
- clientMap.put(uid, client);
- log.info("有新的客户端连接UID:{}", uid);
- }
- // 给客户端发送一条信息 发送ClientReceive事件 需要客户端绑定此事件即可接收到消息
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("name", "goat");
- jsonObject.put("message", "hello client");
- client.sendEvent("ClientReceive", jsonObject);
- });
-
- // 监听客户端断开连接
- socketIOServer.addDisconnectListener(listener -> {
- String uid = getParamsByClient(listener);
- if (uid != null) {
- clientMap.remove(uid);
- listener.disconnect();
- log.info("一条客户端连接中断");
- }
- });
-
- socketIOServer.addEventListener("ServerReceive", JSONObject.class, (client, data, ackSender) -> {
- String uid = getParamsByClient(client);
- String ip = getIpByClient(client);
- if (uid != null) {
- log.info("接收到SID:{}发来的消息:{}", uid, data.toJSONString());
- log.debug(ip + " ************ 客户端:" + data);
- }
- });
-
socketIOServer.start();
log.info("socket.io初始化服务完成");
}
+ /**
+ * 连接时
+ * @param client
+ */
@OnConnect
public void onConnect(SocketIOClient client){
log.info(getIpByClient(client));
HandshakeData handshakeData = client.getHandshakeData();
Map<String, List<String>> urlParams = handshakeData.getUrlParams();
-
}
+ /**
+ * 监听前端订阅相同事件发送过来的信息
+ * @param client
+ * @param ackRequest
+ * @param data
+ */
@OnEvent(value = "msg")
public void OnEvent(SocketIOClient client, AckRequest ackRequest, String data){
log.info("发来消息:" + data);
}
+ /**
+ * 监听前端订阅相同事件发送过来的信息
+ * @param client
+ * @param ackRequest
+ * @param data
+ */
+ @OnEvent(value = "msg2")
+ public void OnEventMsg2(SocketIOClient client, AckRequest ackRequest, String data){
+ log.info("发来消息:" + data);
+ client.sendEvent("ClientReceive","copy"+data);
+ }
+
+ /**
+ * 断开连接时
+ * @param client
+ */
@OnDisconnect()
public void OnEvent(SocketIOClient client){
log.info("{}断开连接",client.getSessionId());
--
Gitblit v1.9.3