[프로그램언어] [소스]자바로 구현된 멀티룸(다중클라이언트)채팅 프로그램

등록일 2003.05.10 압축파일 (zip) | 8페이지 | 가격 2,100원

소개글

컴파일과정
javac *.java --> 모든 자바파일을 컴파일시킨다.
java MChatServer --> 자바 서버를 실행시킨다.
java MChatClient --> 자바 클라이언트를 실행시킨다.

멀티룸이니깐 java MChatClient 를 여러개 실행시켜도 됩니다.
그러면 여러개의 클리이언트가 뜨겠죠?

목차

MChatApplet.java
MChatServer.java
MChatHandler.java
MChatMessage.java
MChatApplet.java
MessageBox.java
MChatRoom.java

위와같이 파일이 구성되어있고 AWT 환경에서 만들었습니다.
책 프로그래머를 위한 JAVA2 [Third Edition] 안에 있는 채팅소스를 확장하여 만든 것입니다.
책에서는 그냥 채팅방을 만들고 방에 들어가서 대화하는 소스
확장내용
대기실의 사용자들을 모든 클라이언테에게 보여짐
채팅방에서도 사용자 목록과 대기시 목록을 보이게함
쪽기지능수행
대화명 바꾸기 기능 수행


본문내용

- 클래스의 기능
MChatServer - 클라이언트들과 통신을 하기위하여 소켓을 열어준다.

MChatRoom - 채팅방안의 클라이언트를 관리해주는 클래스

MChatRoomManager - 각각의 채팅방을 관리해주는 클래스

MChatHandler - 클라이언트들과 통신을 하기위해서 서버와 클라이언턴사이에 중계역할을 하는 클래스

MessagsBox - 클라이언트가 특정한 사용자에게 메시지를 보낼 때

MChatClient - 클라언트들을 위한 인터페이스와 이벤트 등록

클래스 설명(Method)
-------------------
MChatServer
- server 소켓을 열어주고 클라이언트가 접속하기를 기다린다.
- 클라이언트가 접속하면 포트를 열어주고 ChatHandler와 통신을 하게된다.

MChatRoom
- 대기실에서 사용자가 방에 들어가고 나갈 때 수행하는 메소드
- 사용자가 채팅을 종료할 때 처리하는 메소드
<내가 추가한 메소드>
- public String getAllLoungeNamesString() : 대기실에있는 사용자를 리턴하는 메소드

MChatRoomManager
- 처음 로그인할 때 기본적으로 lounge를 가진다.
- 여기에서는 사용자가 lounge로부터 대화방에 들어가고
대화방에서 lounge로 나올 때 처리해주는 메소드를 가진다.
- 모든 방의 이름을 반환해 주는 함수 : getAllRoomNamesString()

MChatHandler
- 클라이언트가 처음 접속시 loung(대기실)에 등록을 시켜준다.
- 서버와 클라이언트간의 프로토콜을 정해서 메시지를 주고 받는 중계역할
- 프로토콜 설명
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      최근 본 자료더보기
      추천도서