소개글
[객체지향프로그래밍] 자바 프로그램 작성을 통하여 TCP를 이용한 Server & Client간의 채팅 프로그램 구현에 대한 자료입니다.
목차
-목차-
1. 프로젝트 주제
2. 제작개요
3. 클래스 / 변수 / 메소드 등에 대한 도식화(그림 및 표)
4. 프로그램 및 분석(주석에 소스 분석)
5. 프로그램의 특징(추가 및 삭제하면서 수정한 부분 등에 대한 설명 포함)
6. 프로그램 결과(그림 포함)
7. 참고 도서 및 참고 사이트
본문내용
-AWT 컴퍼넌트에 의해 트리거되는 다양한 종류의 이벤트를 처리하는 인터페이스와 클래스를 제공한다.
Reader, Writer이 붙으면 대부분, 문자단위로 처리한다.=>문자스트림은 이 바이트 스트림을 가공해서 사용, 유니코드 문자를 출력할 수 있게 한다.
inputStream, outputStream 이 붙으면 대부분, 바이트단위로 처리한다.=>바이트스트림은 원시데이터를 그대로 주고받겠다는 의미를 가지고있다.
직접연결하는 1차 스트림을 빨리 처리하기 위해 사용된다.=>BufferedReader 클래스에는 스트림으로부터 데이터를 읽어 올 때 한줄 씩 읽을 수 있는 readLine()을 지원하기 때문에 다른 입력 스트림보다 많이 사용된다.=>BufferedWriter 클래스에서 flush()메소드를 호출해서 버퍼의 내용을 스트림으로 전송하는 작업이 추가로 필요하다.
4.프로그램 및 분석(주석에 소스 분석)
(4-1) ChatClient 분석
import java.net.*;
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
public class ChatClient extends Frame implements ActionListener, Runnable
{
Button btn_exit; // 종료 버튼
Button btn_send; // 전송 버튼
Button btn_erase;
Button btn_connect; // 서버 접속 버튼
Button btn_sad;
Button btn_hello;
Button btn_angry;
Button btn_happy;
TextArea txt_list; // 채팅 내용 보여주는 부분
TextField txt_server_ip; // 서버 IP 입력 텍스트필드
TextField txt_name; // 대화명 입력 텍스트필드
TextField txt_age; //나이 입력 텍스트필드
TextField txt_live;// 거주지역 입력 텍스트 필드
TextField txt_input; // 채팅 입력 텍스트필드
Socket client; // 소켓
BufferedReader br; // 입력
PrintWriter pw; // 출력
String server_ip; // 서버의 IP 주소
final int port = 2007; // 서버의 포트 번호
CardLayout cl; // 카드 레이아웃 선언
/*윈도우창이 하나인 관계로 프레임 창을 상속 받았으며 버튼과 텍스트 창과 윈도우 컴포넌트를 필드로 선언하였다. ActionListener를 구현한 이유는 이벤트를 처리 하기 위해서 이며 상속한 클래스에서 상속받기 위해 Runnable 인터페이스를 구현하였다.*/
public ChatClient()
{
참고문헌
7. 참고 도서 및 참고 사이트
자바 I/O & NIO 네트워크 프로그래밍 / 김성박,송지훈/ 2004/ 한빛미디어
Power Java / 천인국 저 / 2009 / 인피니티북스
소스부분:http://blog.naver.com/sungback?Redirect=Log&logNo=90030941651
게임을 만들며 배우는 자바프로그램 / 임동혁 저/ 2002/ 제우미디어