6.8 예시: 채팅 처리
채팅 프로그램을 만드는 예시를 살펴봅시다. 클라이언트 1개가 채팅을 하면 채팅 메시지가 다른 클라이언트들에 전송되어 출력됩니다.
▲ 그림 6-5 채팅 프로그램 예
이 시퀀스 다이어그램을 설명하겠습니다.
➊ 클라이언트에서 서버로 보내는 Chat RMI 함수를 선언합시다. 클라이언트에서는 이 함수를 호출하여 서버에 채팅을 보냅니다.
➋ 서버에서는 이를 수신하면 다른 모든 클라이언트에 ShowChat RMI를 멀티캐스트2합니다.
➌ 클라이언트는 ShowChat RMI를 받으면 이를 화면에 표시합니다.
2 멀티캐스트란 여러 다른 호스트에게 데이터를 전송하는 것을 의미합니다. 비슷하지만 다른 용어로 브로드캐스트가 있습니다. 브로드캐스트는 불특정 다수에게 데이터를 전송하는 것입니다. 이 둘의 차이점은 멀티캐스트는 수신자가 누구인지 명확히 지정하는 반면, 브로드캐스트는 그렇지 않습니다.