자바로 만든 다자간 채팅 프로그램 입니다(구성: 소스코드, 실행파일, 프로그램설명PPT)
- 최초 등록일
- 2013.01.11
- 최종 저작일
- 2012.02
- 8페이지/
압축파일
- 가격 5,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
실제로 잘 동작합니다, 기능은 다양하지 않지만 와성도는 높은편이라고 자부합니다.
단지, 귓속말 부분에서 조금 버그가 있는데, 사용하시거나 참고하실때 크게 문제될정도는 아닙니다.
다른 프로그램과 차별점이라면, 프로그램 모드로 호스트 모드와 게스트 모드 둘 에서 선택할 수 있게 하여 하나의 프로그램만으로 서버와 클라이언트 역할을 둘 다 수행할 수 있는 것입니다.
압축파일 안에는 자바 이클립스 환경에서 만든 프로젝트 파일이 있구요, 그리고 exe로 만들어 놓은 실행파일, 프로그램 설명을 한 피피티 파일이 있습니다.
그리고 아래는 전체적인 프로그램 설명입니다.
(예전에 적었던 글이라 반말입니다, 죄송합니다)
학기중에 JAVA를 수강했는데,
정신없이 듣고나니까 확실하게 아는게 없는것 같아서
방학을 하자마자 채팅프로그램을 하나 짜기로 결심해서 만든게 바로 이거다.
상단에 보면 호스트와 게스트를 선택 할 수 있는 체크박스가 있고,
게스트라면 호스트의 IP주소를 입력해야지 호스트에 접속할 수 있다.
접속자 이름을 클릭하면 귓속말이 가능하다.
따로 서버를 만들지 않고 호스트가 서버역할을 하도록 만들었다.
윈도우 기본게임중에 네트워크 카드게임과 같은 방식이라고 보면 된다.
호스트에서 클라이언트가 접속할 때 마다 쓰레드를 하나씩 생성해서
일대일로 메세지를 받고 모든 클라이언트에게 뿌려준다.
채팅프로그램을 짜면서 JAVA언어를 조금이나마 다룰 수 있게 되엇다.
자바의 객체지향성을 살려서 클래스를 설계하고 프로그래밍을 하니까 직관적인 코딩을 할 수 있었다.
클래스는 크게 4개로 나눠서 코딩했다.
각각 main, Interface, Host, Client 클래스다.
main클래스에서는 Interface 클래스를 선언하고 Interface 멤버함수들을 호출만 했고,
Interface클래스에는 모든 리스너를 장착하고 Host와 Client 클래스를 선언하고 각각의 멤버변수를 호출하여 사용했다.
이번 채팅 프로그램을 만들면서 설계를 잘못했는데,
main클래스에서 Interface, Host, Client 클래스를 모두 선언하고 리스너를 장착하는게 직관적이여서 좋은 설계라고 생각된다.
클라이언트와 호스트를 통신시키기 위해서 자바 네트워크도 공부하였고,
특히 레이아웃부분과 리스너 부분을 확실하게 알게 되었다.
서버와 클라이언트의 역할에 대해서도 많이 생각해볼 수 있었다.
컴파일 실행환경
컴파일환경: JAVA, 이클립스 / 실행환경: 윈도우XP, 윈도우7
압축파일 내 파일목록
CAT_talk_ver1.0.exe
JAVA로 구현한.pptx
TalkVer1.0/.settings/org.eclipse.jdt.core.prefs
TalkVer1.0/bin/Client.class
TalkVer1.0/bin/Host.class
TalkVer1.0/bin/Interface$1.class
TalkVer1.0/bin/Interface$2.class
TalkVer1.0/bin/Interface$3.class
TalkVer1.0/bin/Interface$4.class
TalkVer1.0/bin/Interface$5.class
TalkVer1.0/bin/Interface$6$1.class
TalkVer1.0/bin/Interface$6$2.class
TalkVer1.0/bin/Interface$6.class
TalkVer1.0/bin/Interface.class
TalkVer1.0/bin/Main.class
TalkVer1.0/bin/acceptClient.class
TalkVer1.0/bin/recvFromClient.class
TalkVer1.0/bin/recvFromHost.class
TalkVer1.0/src/Client.java
TalkVer1.0/src/Host.java
TalkVer1.0/src/Interface.java
TalkVer1.0/src/Main.java
TalkVer1.0/.classpath
TalkVer1.0/.project
참고 자료
없음