DevLog/유니티 프로젝트

포톤 서버를 이용한 채팅 서버 제작

뽀또치즈맛 2025. 3. 29. 15:22

 

 

 

📦 ChatManager — 네트워크 채팅 관리

Photon Chat 서버와 직접 통신하고 네트워크 이벤트를 처리하는 관리자

주요 역할

  • Photon 서버 연결 및 인증
  • 채팅 채널 구독 / 메시지 송신
  • 채널 내의 메시지 수신 및 UI로 전달
  • Photon 채팅 관련 콜백들 처리

구조

ChatManager

static ChatManager instance ➤ 싱글톤
ChatClient chatClient ➤ Photon 채팅 클라이언트
string chatChannel ➤ 사용할 채널명 ("GlobalChannel")
SendMessageToChat() ➤ 채널로 메시지 전송
OnConnected() ➤ 서버 연결 완료 후 채널 구독
OnGetMessages() ➤ 채널에서 메시지를 받았을 때
기타 ➤ OnSubscribed, OnDisconnected 등 네트워크 상태 콜백

 

📦 ChatUIManager — 유저 인터페이스 관리자

유저가 실제로 눈으로 보는 UI와 관련된 모든 것을 담당

주요 역할

  • 채팅 입력창에서 Enter 입력 감지
  • 채팅 입력값을 ChatManager에 전달 (SendChatMessage)
  • 받은 채팅 메시지를 채팅창에 출력 (DisplayMessage)
  • 스크롤 자동 내려주기 기능 포함

 

구조

 

설명

  • ChatUIManager와 ChatManager가 각각 Singleton으로 존재
  • ChatUIManager는 채팅 UI 담당
  • ChatManager는 Photon Chat 서버와 통신 담당
  • 두 클래스가 서로 메시지를 주고받으며 역할을 분담