----클라이언트 ----


import java.io.*;

import java.net.*;


public class ClientEx {

public static void main(String[] args) {

BufferedReader in = null;

BufferedReader stin = null;

BufferedWriter out = null;

Socket socket = null;

try {

socket = new Socket("localhost", 9999); // 클라이언트 소켓 생성

in = new BufferedReader(new InputStreamReader(socket.getInputStream())); // 서버로부터의 입력 스트림

stin = new BufferedReader(new InputStreamReader(System.in)); // 키보드로부터의 입력 스트림

out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); // 서버로의 출력 스트림

String outputMessage;

while (true) {

outputMessage = stin.readLine(); // 키보드에서 한 행의 문자열 읽음

if (outputMessage.equalsIgnoreCase("bye")) { // "bye"가 입력되면 메시지 전송 후 연결 종료

out.write(outputMessage);

out.flush();

break;

}

out.write("클라이언트>"+outputMessage+"\n"); // 키보드에서 읽은 문자열 전송

out.flush();

String inputMessage = in.readLine(); // 서버에서 한 행의 문자열 읽음

System.out.println(inputMessage); // 서버가 보낸 메시지 화면에 출력

}

} catch (IOException e) {

System.out.println(e.getMessage());

} finally {

try {

socket.close(); // 클라이언트 소켓 닫기

} catch (IOException e) {

System.out.println("서버와 채팅 중 오류가 발생했습니다.");

}

}

}

}




------ 서버 ------

import java.io.*;

import java.net.*;


public class ServerEx {

public static void main(String[] args) {

BufferedReader in = null;

BufferedReader stin = null;

BufferedWriter out = null;

ServerSocket listener = null;

Socket socket = null;

try {

listener = new ServerSocket(9999); // 서버 소켓 생성

socket = listener.accept(); // 클라이언트로부터 연결 요청 대기

System.out.println("연결됨");

in = new BufferedReader(new InputStreamReader(socket.getInputStream())); // 클라이언트로부터의 입력 스트림

stin = new BufferedReader(new InputStreamReader(System.in)); // 키보드로부터의 입력 스트림

out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); // 클라이언트로의 출력 스트림

String inputMessage;

while (true) {

inputMessage = in.readLine(); // 클라이언트에서 한 행의 문자열 읽음

if (inputMessage.equalsIgnoreCase("bye")){ // 클라이언트가 "bye"를 보내면 연결 종료

System.out.println("안뇽");

break;

}

System.out.println(inputMessage); // 클라이언트가 보낸 메시지 화면에 출력

String outputMessage = stin.readLine(); // 키보드에서 한 행의 문자열 읽음

out.write("서버>" + outputMessage+"\n"); // 키보드에서 읽은 문자열 전송

out.flush();

}

} catch (IOException e) {

System.out.println(e.getMessage());

} finally {//try문을 빠져나가면 실행됨.

try {

socket.close(); // 클라이언트와 통신용 소켓 닫기

listener.close(); // 서버 소켓 닫기

} catch (IOException e) {

System.out.println("클라이언트와 채팅 중 오류가 발생했습니다.");

}

}

}

}


'Computer Science > JAVA' 카테고리의 다른 글

java의 기본원리  (0) 2014.04.01
자료구조와 객체의 차이  (0) 2014.04.01
패널 + 리스너 + 값 넘기기  (0) 2013.01.03
간단한 클래스간의 값 주고받기  (0) 2012.12.24
마방진 알고리즘  (0) 2012.11.02
Posted by 뚜딱이
,