Code Archive/JAVA

Step14. Socket 프로그래밍

쌍큐 2014. 9. 12. 14:16


소켓 프로그래밍 기본 패턴

1. 소켓 오픈

2. 데이터 전송 및 받을 스트림 생성

3. 데이터를 전송 및 받음

4. 소켓 닫기


--서버측 소스코드

package step1;


import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.ServerSocket;

import java.net.Socket;


public class TestServer {


/**

 * @param args

 * @throws IOException

 */

public static void main(String[] args) throws IOException {

// TODO Auto-generated method stub

//서버측 기본 코딩 패턴

//9909포트번호로 소켓을 연다.

ServerSocket socket = new ServerSocket(9909);

//client 접속을 기다림

Socket client = socket.accept();

//클라이언트로 부터 정보를 받을 스트림

InputStreamReader isr = new InputStreamReader(client.getInputStream());

BufferedReader br = new BufferedReader(isr);

//client가 보낸 정보 출력

System.out.println(br.readLine());

//클라이언트 종료

client.close();

//서버종료

socket.close();

}


}


-- 클라이언트측 소스코드

package step1;


import java.io.IOException;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import java.net.Socket;

import java.net.UnknownHostException;


public class TestClient {

/**

 * @param args

 * @throws IOException 

 * @throws UnknownHostException 

 */

public static void main(String[] args) throws UnknownHostException, IOException {

// TODO Auto-generated method stub

//클라이언트 접속 프로그램 패턴

Socket socket = new Socket("127.0.0.1", 9909);

OutputStreamWriter osw = new OutputStreamWriter(socket.getOutputStream());

osw.write("클라이언트 문자 전송");

//osw.flush();

osw.close();

socket.close();

}


}


'Code Archive > JAVA' 카테고리의 다른 글

Step18. JDBC 기본 문법  (0) 2014.09.12
Step15. Thread(스레드)  (0) 2014.09.12
Step13. 객체 직렬화(Object Serialization)  (0) 2014.09.12
Step12. Stream, 파일 입출력  (0) 2014.09.12
Step11. Exception(예외처리)  (0) 2014.09.12