From 56c278602b122189a750b9cb20d02a779222d858 Mon Sep 17 00:00:00 2001 From: jg Date: Sat, 26 Jul 2025 18:07:13 +0900 Subject: [PATCH] =?UTF-8?q?[FEATURE]=20=EB=A9=94=EC=84=B8=EC=A7=80=20?= =?UTF-8?q?=EC=A0=84=EC=86=A1=20=EC=84=B1=EA=B3=B5=20=EC=97=AC=EB=B6=80=20?= =?UTF-8?q?=EC=A0=84=EB=8B=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../galaxy/chat/controller/ChatSocketController.java | 3 ++- src/main/resources/templates/chat/chatTestA.html | 9 +++++++++ src/main/resources/templates/chat/chatTestB.html | 9 +++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/balybus/galaxy/chat/controller/ChatSocketController.java b/src/main/java/com/balybus/galaxy/chat/controller/ChatSocketController.java index 2382d3df..250e6650 100644 --- a/src/main/java/com/balybus/galaxy/chat/controller/ChatSocketController.java +++ b/src/main/java/com/balybus/galaxy/chat/controller/ChatSocketController.java @@ -34,7 +34,8 @@ public void sendPrivateMessage(ChatMsgRequestDto.SendPrivateMessage message, @He String sender = simpUser.getName(); try { ChatMsgResponseDto.SendPrivateMessage responseDto = chatService.saveMessage(message, sender); //채팅 데이터 DB 저장 - messagingTemplate.convertAndSendToUser(responseDto.getReceiverMail(), "/queue/private", responseDto); + messagingTemplate.convertAndSendToUser(responseDto.getReceiverMail(), "/queue/private", responseDto); //받는사람에게 채팅 전송 + messagingTemplate.convertAndSendToUser(sender, "/queue/success", "SUCCESS"); //보낸사람에게 채팅 전송 성공여부 전송 } catch (Exception e) { // 예외가 발생한 경우 메시지를 보낸 사람에게 에러 메시지를 보냄 messagingTemplate.convertAndSendToUser(sender, "/queue/error", "Error occurred: " + e.getMessage()); diff --git a/src/main/resources/templates/chat/chatTestA.html b/src/main/resources/templates/chat/chatTestA.html index 75207ecc..3cabcbfc 100644 --- a/src/main/resources/templates/chat/chatTestA.html +++ b/src/main/resources/templates/chat/chatTestA.html @@ -46,6 +46,15 @@

WebSocket Test

messageContainer.innerHTML += `

받은 개인 메시지: ${message.content}

`; }); + // 전송 성공 콜백 + stompClient.subscribe('/user/queue/success', function(message) { + console.log("전송 성공 콜백:", message.body); + + // 메시지를 div에 추가 + const messageContainer = document.getElementById("messageContainer"); + messageContainer.innerHTML += `

전송 성공 콜백: ${message.body}

`; + }); + stompClient.subscribe('/user/queue/error', function(message) { console.log("에러 발생 메시지:", message.body); diff --git a/src/main/resources/templates/chat/chatTestB.html b/src/main/resources/templates/chat/chatTestB.html index ccf57f14..7e4d8efe 100644 --- a/src/main/resources/templates/chat/chatTestB.html +++ b/src/main/resources/templates/chat/chatTestB.html @@ -46,6 +46,15 @@

WebSocket Test

messageContainer.innerHTML += `

받은 개인 메시지: ${message.content}

`; }); + // 전송 성공 콜백 + stompClient.subscribe('/user/queue/success', function(message) { + console.log("전송 성공 콜백:", message.body); + + // 메시지를 div에 추가 + const messageContainer = document.getElementById("messageContainer"); + messageContainer.innerHTML += `

전송 성공 콜백: ${message.body}

`; + }); + stompClient.subscribe('/user/queue/error', function(message) { console.log("에러 발생 메시지:", message.body);