| 요소 | 역할 |
|---|---|
| Server | 메시지를 받아서 모든 사용자에게 중계 (Broadcast) |
| Client | UI 구성 + 서버와 메시지 송·수신 |
테스트는 PC 한 대에서도 가능하지만, 여러 대에서 진행하면 가장 좋음
| 클래스명 | 기능 |
|---|---|
| MultiChatClient | UI + 서버 연결 + 메시지 송수신 |
| MultiChatServer | 클라이언트 연결 및 관리 |
| ChatThread (서버 내부 클래스) | 각 클라이언트를 개별 스레드로 처리 |
MultiChatServer
└─ ChatThread (Thread 상속)
MultiChatClient implements ActionListener, Runnable
| 패널 | 내용 |
|---|---|
| 로그인 패널 | 대화명 입력 + 로그인 버튼 |
| 로그아웃 패널 | 현재 사용자 표시 + 로그아웃 버튼 |
| 메시지 패널 | 메시지 입력 + 종료 버튼 |
| 메시지 출력 영역 | JTextArea + JScrollPane |
CardLayout 사용
→ 로그인 상태에 따라 login ↔ logout 화면 전환