@@ -173,14 +173,15 @@ private void handleChatMessage(WebSocketSession session, JsonNode jsonNode) {
173
173
Long roomId = jsonNode .get ("roomId" ).asLong ();
174
174
Long userId = jsonNode .get ("userId" ).asLong ();
175
175
String message = jsonNode .get ("message" ).asText ();
176
+ String from = jsonNode .has ("from" ) ? jsonNode .get ("from" ).asText () : null ;
177
+
178
+ log .info ("์ฑํ
๋ฉ์์ง: roomId={}, userId={}, message={}, from={}" , roomId , userId , message , from );
176
179
177
180
if (message == null || message .trim ().isEmpty ()) {
178
181
sendErrorMessage (session , "๋ฉ์์ง ๋ด์ฉ์ด ๋น์ด์์ต๋๋ค." );
179
182
return ;
180
183
}
181
184
182
- log .info ("์ฑํ
๋ฉ์์ง: roomId={}, userId={}, message={}" , roomId , userId , message );
183
-
184
185
// ์ฌ์ฉ์ ์ ๋ณด ๊ฒ์ฆ
185
186
User user = userRepository .findById (userId ).orElse (null );
186
187
if (user == null ) {
@@ -194,8 +195,19 @@ private void handleChatMessage(WebSocketSession session, JsonNode jsonNode) {
194
195
ChatMsgRequest chatMsgRequest = new ChatMsgRequest (message );
195
196
ChatMsgResponse response = chatMessageService .sendMessage (chatMsgRequest , userId , roomId );
196
197
197
- // ๋ฉ์์ง ํฌ๋งท ๋ณํํ์ฌ ์ ์ก
198
- String messageJson = objectMapper .writeValueAsString (response );
198
+ // ์น์์ผ ๋ฉ์์ง ํฌ๋งท ์์ฑ (ํด๋ผ์ด์ธํธ์ ์ผ์น์ํด)
199
+ Map <String , Object > wsMessage = new HashMap <>();
200
+ wsMessage .put ("type" , "CHAT" );
201
+ wsMessage .put ("roomId" , roomId );
202
+ wsMessage .put ("userId" , userId );
203
+ wsMessage .put ("from" , response .getFrom ());
204
+ wsMessage .put ("nickname" , response .getFrom ()); // ํด๋ผ์ด์ธํธ ํธํ์ฑ์ ์ํด ๋ ํ๋ ๋ชจ๋ ์ค์
205
+ wsMessage .put ("message" , message );
206
+ wsMessage .put ("sendAt" , response .getSendAt ().toString ());
207
+
208
+ // ๋ฉ์์ง JSON ๋ณํ
209
+ String messageJson = objectMapper .writeValueAsString (wsMessage );
210
+ log .info ("Broadcasting message: {}" , messageJson );
199
211
200
212
// ํด๋น ์ฑํ
๋ฐฉ์ ๋ชจ๋ ์ธ์
์ ๋ฉ์์ง ๋ธ๋ก๋์บ์คํธ
201
213
broadcastMessageToRoom (roomId , messageJson );
@@ -223,9 +235,11 @@ private void broadcastMessageToRoom(Long roomId, String message) {
223
235
for (WebSocketSession session : roomSessions ) {
224
236
try {
225
237
if (session .isOpen ()) {
238
+ log .debug ("Broadcasting to session {}" , session .getId ());
226
239
session .sendMessage (new TextMessage (message ));
227
240
} else {
228
241
failedSessions .add (session );
242
+ log .debug ("Session closed, adding to failed sessions: {}" , session .getId ());
229
243
}
230
244
} catch (IOException e ) {
231
245
log .error ("๋ฉ์์ง ๋ธ๋ก๋์บ์คํธ ์ค ์ค๋ฅ: {}" , e .getMessage ());
0 commit comments