자바 서버 클라이언트 소켓이용 간단한 채팅프로그램
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

실습과제
문제분석
알고리즘
소스코드
결과분석
소감

본문내용

ine()) != null) {
//클라이언트가 문장을 입력하였을시 서버에서 출력
message="["+name+"]"+line;
System.out.println("Server Receive : "+ message);
tellEveryone(message);
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
public void tellEveryone(String message) {//클라이언트로 부터 받아온문장을 모든사용자에게 보내는 메소드
Iterator it = clientOutputStreams.iterator();
while(it.hasNext()) {//문장이 있을시
try {
PrintWriter writer = (PrintWriter) it.next();
writer.println(message);
writer.flush();
} catch(Exception e) {
e.printStackTrace();
}
}
}
public void go() {
clientOutputStreams = new ArrayList();//
try {
ServerSocket serverSock = new ServerSocket(4242);
System.out.println("채팅 서버를 가동합니다.");
while(true) {
Socket clientSocket = serverSock.accept();
//클라이언트의 소켓이 연결할때까지 계속 기다린다. 접속되면 serve포트번호와는 다른 포트의 소캣을 리턴한다.
PrintWriter writer = new PrintWriter(clientSocket.getOutputStream());
clientOutputStreams.add(writer);
Thread t = new Thread(new ClientHandler(clientSocket));
t.start();
}
} catch(IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ProblemServer server = new ProblemServer();
server.go();
}
}
결과분석
하나의 서버를 실행시킨뒤 두 개의 클라이언트를 접속 시켰다. 주소를 입력받아 접속하였으며 이름을 입력받아 누가 전송한 메시지인지를 구별가능하도록 기능을 추가하였다.
또한 /quit라는 명령을 통하여 클라이언트를 종료 할수 있도록 하는 기능도 넣었다.
실행결과 이상없이 프로그램이 잘 수행되었다.
소감
뒷부분의 스레드와 스윙 그리고 이번에 실습한 소캣을 이용한 프로그래밍이 아직 이해가 안되는 부분이 많이 있는거 같고 아직 많이 모르는게 많아 공부를 많이 해야겠다고 생각하였다. 학교진도가 너무 빠르게 지나가는것 같이 느껴졌다. 또 과제를 완성하긴 했지만 시험 기간이고 자바 프로젝트도 있기 때문에 과제하는데 약간 벅찬 감이 있는 것같다.
하지만 얼마남지 않은 기간 열심히 해서 유종의 미를 거둘수 있도록 하겠다.

키워드

추천자료

  • 가격1,000
  • 페이지수7페이지
  • 등록일2007.12.26
  • 저작시기2007.9
  • 파일형식한글(hwp)
  • 자료번호#444649
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니