Browse Source

websocket

pull/1/head
吴远 3 months ago
parent
commit
d593782c16
  1. 7
      dk-common/common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java
  2. 12
      dk-common/common-websocket/src/main/java/org/dromara/common/websocket/utils/WebSocketUtils.java
  3. 8
      dk-modules/resource/pom.xml
  4. 4
      pom.xml

7
dk-common/common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java

@ -55,10 +55,11 @@ public class PlusWebSocketHandler extends AbstractWebSocketHandler {
return; return;
} }
// 创建WebSocket消息DTO对象 // 创建WebSocket消息DTO对象
WebSocketMessageDto webSocketMessageDto = new WebSocketMessageDto(); /*WebSocketMessageDto webSocketMessageDto = new WebSocketMessageDto();
webSocketMessageDto.setSessionKeys(List.of(loginUser.getUserId())); webSocketMessageDto.setSessionKeys(List.of(loginUser.getUserId()));
webSocketMessageDto.setMessage(message.getPayload()); webSocketMessageDto.setMessage(message.getPayload());*/
WebSocketUtils.publishMessage(webSocketMessageDto); WebSocketUtils.sendMessage(loginUser.getUserId(),"pong");
WebSocketUtils.sendPongMessage(session);
} }
/** /**

12
dk-common/common-websocket/src/main/java/org/dromara/common/websocket/utils/WebSocketUtils.java

@ -98,15 +98,11 @@ public class WebSocketUtils {
ObjectMapper mapper = new ObjectMapper(); ObjectMapper mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE); mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
WebSocketMessageDto broadcastMessage = new WebSocketMessageDto(); String jsonString = mapper.writeValueAsString(message);
broadcastMessage.setMessage(mapper.writeValueAsString(message)); WebSocketSessionHolder.getSessionsAll().forEach(key -> {
RedisUtils.publish(WEB_SOCKET_TOPIC, broadcastMessage, consumer -> { WebSocketSession session = WebSocketSessionHolder.getSessions(key);
log.info("WebSocket发送主题订阅消息topic:{} message:{}", WEB_SOCKET_TOPIC, message); sendMessage(session, jsonString);
}); });
// WebSocketSessionHolder.getSessionsAll().forEach(key -> {
// WebSocketSession session = WebSocketSessionHolder.getSessions(key);
// sendMessage(session, jsonString);
// });
}catch (Exception e) { }catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }

8
dk-modules/resource/pom.xml

@ -92,10 +92,10 @@
<artifactId>common-translation</artifactId> <artifactId>common-translation</artifactId>
</dependency> </dependency>
<dependency> <!-- <dependency>-->
<groupId>org.dromara</groupId> <!-- <groupId>org.dromara</groupId>-->
<artifactId>common-websocket</artifactId> <!-- <artifactId>common-websocket</artifactId>-->
</dependency> <!-- </dependency>-->
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>

4
pom.xml

@ -16,7 +16,7 @@
<revision>2.2.2</revision> <revision>2.2.2</revision>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>17</java.version> <java.version>21</java.version>
<spring-boot.version>3.2.11</spring-boot.version> <spring-boot.version>3.2.11</spring-boot.version>
<spring-cloud.version>2023.0.3</spring-cloud.version> <spring-cloud.version>2023.0.3</spring-cloud.version>
<spring-boot-admin.version>3.2.3</spring-boot-admin.version> <spring-boot-admin.version>3.2.3</spring-boot-admin.version>
@ -85,7 +85,7 @@
<id>dev</id> <id>dev</id>
<properties> <properties>
<!-- 环境标识,需要与配置文件的名称相对应 --> <!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active> <profiles.active>wuyuan</profiles.active>
<nacos.server>127.0.0.1:8848</nacos.server> <nacos.server>127.0.0.1:8848</nacos.server>
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group> <nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<nacos.config.group>DEFAULT_GROUP</nacos.config.group> <nacos.config.group>DEFAULT_GROUP</nacos.config.group>

Loading…
Cancel
Save