Skip to content

Commit e078458

Browse files
committed
[BE] refactor: 나간 user의 user_id 반환 (#98)
Signed-off-by: EunJiJung <bianbbc87@gmail.com>
1 parent 0db1cf4 commit e078458

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/backend/signaling-server/src/main/java/com/asyncgate/signaling_server/service/ExitRoomService.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ public class ExitRoomService implements ExitRoomUseCase {
1414

1515
@Override
1616
public void execute(final String roomId, final String memberId) {
17-
log.info("ExitRoomService.execute 호출됨, roomId: {}, memberId: {}", roomId, memberId);
18-
1917
// 방에서 유저 제거
2018
kurentoManager.removeUser(roomId, memberId);
2119
}

src/backend/signaling-server/src/main/java/com/asyncgate/signaling_server/signaling/KurentoManager.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,19 @@ public void removeUser(final String roomId, final String userId) {
481481
// 사용자 정보 제거
482482
userStates.remove(userId);
483483

484+
// 사용자 제거 이벤트 브로드캐스트
485+
// 예: 클라이언트 측에서 해당 사용자의 미디어 스트림 제거 처리를 수행하도록 알림 전송
486+
messagingTemplate.convertAndSend("/topic/removed/" + roomId, userId);
487+
488+
// 선택사항: 방이 비어있다면 미디어 파이프라인도 정리
489+
if (roomEndpoints.get(roomId).isEmpty()) {
490+
MediaPipeline mediaPipeline = pipelines.get(roomId);
491+
// 미디어 파이프라인 해제 코드 (예시)
492+
mediaPipeline.release();
493+
pipelines.remove(roomId); // collection에서 제거
494+
log.info("🚮 [Kurento] 방 {}에 남은 사용자가 없어 미디어 파이프라인을 해제합니다.", roomId);
495+
}
496+
484497
log.info("🛑 [Kurento] 사용자 제거 완료: roomId={}, userId={}", roomId, userId);
485498
}
486499

0 commit comments

Comments
 (0)