자바 채팅 프로그램 (여러 사용자 참여 가능 - 로컬환경)
anonydoo
다운로드
장바구니
소개글
본 프로그램은 학습 참고를 위한 예제프로그램 입니다.서버와 클라이언트의 메세지 전달 기능만 가능하며
아래 실행방법 이외의 다른 동작에서는 오류가 발생합니다.
서버와 클라이언트 모두 이용 가능하기 때문에 이클립스에서는 직관적인 사용이 어렵습니다.
윈도우에서는 cmd, 리눅스에서는 터미널을 이용해주세요.
이클립스를 사용하시게 되더라도 서버용도로만 사용해주세요.
이클립스 버전 : Oxygen.2 Release (4.7.2)
자바 버전 : 9
본 프로그램은 자바9 환경에서 만들어졌습니다.
소스에는 자바9의 새로운 특징이 적용되지는 않았으나
위의 이클립스의 버전이 위보다 낮으면 자바9 프로그램 실행이 불가능합니다.
실행방법 :
1. src/chat/Boot 에 위치한 filename을 변경해주세요. 같은 디렉토리에 위치한 chat.properties파일의 절대경로를
넣어주시면 됩니다.
2. 그림1의 서버 cmd화면처럼 해당 경로에서 javac를 이용, 컴파일해주시면 됩니다.
3. java를 이용해 프로그램을 시작합니다.
4. 서버를 실행하기 위해서는 "-start"라는 커맨드를 입력하셔야 합니다.
5. 새로운 cmd창을 열고 3번처럼 다시 프로그램을 시작합니다.
6. 이번에는 "-join"이라는 명령어를 이용해 서버에 접속하는 클라이언트를 실행합니다.
7. 서버 또는 클라이언트에서 메세지를 입력하면 서로에게 메세지가 보여집니다.
이때 입력하는 창에서는 입력 메세지와 서버로부터 받는 메세지가 모두 표시되기 때문에 두번 입력하는 것처럼 보입
니다.
8. 이 상태에서 5번, 6번처럼 새로운 클라이언트를 접속시키면 그림2처럼 새로운 사용자가 대화에 참여하게 됩니다.
컴파일 실행환경
Zip archive data압축파일 내 파일목록
chat-master/.classpath
chat-master/.gitignore
chat-master/.project
chat-master/.settings/org.eclipse.jdt.core.prefs
chat-master/bin/chat/Boot.class
chat-master/bin/chat/Chat.class
chat-master/bin/chat/chat.properties
chat-master/bin/chat/client/Client.class
chat-master/bin/chat/client/ThreadSocket.class
chat-master/bin/chat/Commander$Command.class
chat-master/bin/chat/Commander.class
chat-master/bin/chat/server/Server.class
chat-master/bin/chat/server/ThreadSocket.class
chat-master/src/chat/Boot.class
chat-master/src/chat/Boot.java
chat-master/src/chat/Chat.class
chat-master/src/chat/Chat.java
chat-master/src/chat/chat.properties
chat-master/src/chat/client/Client.class
chat-master/src/chat/client/Client.java
chat-master/src/chat/client/ThreadSocket.java
chat-master/src/chat/Commander$1.class
chat-master/src/chat/Commander$Command.class
chat-master/src/chat/Commander.class
chat-master/src/chat/Commander.java
chat-master/src/chat/server/Server.class
chat-master/src/chat/server/Server.java
chat-master/src/chat/server/ThreadSocket.class
chat-master/src/chat/server/ThreadSocket.java
chat-master/그림1.png
chat-master/그림2.png
chat-master/사용방법.txt
chat-master/.gitignore
chat-master/.project
chat-master/.settings/org.eclipse.jdt.core.prefs
chat-master/bin/chat/Boot.class
chat-master/bin/chat/Chat.class
chat-master/bin/chat/chat.properties
chat-master/bin/chat/client/Client.class
chat-master/bin/chat/client/ThreadSocket.class
chat-master/bin/chat/Commander$Command.class
chat-master/bin/chat/Commander.class
chat-master/bin/chat/server/Server.class
chat-master/bin/chat/server/ThreadSocket.class
chat-master/src/chat/Boot.class
chat-master/src/chat/Boot.java
chat-master/src/chat/Chat.class
chat-master/src/chat/Chat.java
chat-master/src/chat/chat.properties
chat-master/src/chat/client/Client.class
chat-master/src/chat/client/Client.java
chat-master/src/chat/client/ThreadSocket.java
chat-master/src/chat/Commander$1.class
chat-master/src/chat/Commander$Command.class
chat-master/src/chat/Commander.class
chat-master/src/chat/Commander.java
chat-master/src/chat/server/Server.class
chat-master/src/chat/server/Server.java
chat-master/src/chat/server/ThreadSocket.class
chat-master/src/chat/server/ThreadSocket.java
chat-master/그림1.png
chat-master/그림2.png
chat-master/사용방법.txt