package demo.simple;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;

public class SimpleClient {

	public static void main(String[] args) throws Exception {
		
		// 서버에 연결 요청
		Socket socket = new Socket("192.168.10.254", 8000);
		
		OutputStream out = socket.getOutputStream();
		InputStream in = socket.getInputStream();
		
		PrintWriter writer = new PrintWriter(out);
		BufferedReader reader = new BufferedReader(new InputStreamReader(in));
		
		// 서버로 메시지 보내기
		writer.println("");
		writer.flush();
		
		// 서버가 보낸 메시지 읽기
		String message = reader.readLine();
		System.out.println("응답메시지: " + message);
		
		socket.close();
		
	}
}

 

package demo.simple;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class SimpleServer {

	public static void main(String[] args) throws Exception {
		
		// 클라이언트의 연결 요청을 처리하는 ServerSocket 생성하기
		ServerSocket server = new ServerSocket(8000);
		System.out.println("서버가 시작되었습니다.");
		
		while (true) {
			// Socket accept()
			// 1. 클라이언트의 연결요청이 있을 때까지 프로그램 실행을 일시정지시킨다.
			// 2. 클라이언트의 연결요청이 접수되면 그 클라이언트와 통신할 때 사용할 Socket객체를 제공한다.
			Socket socket = server.accept();
			
			// Socket으로부터 획득한 스트림을 문자열 전송이 가능하도록 적절한 보조 스트림과 연결시키기
			InputStream in = socket.getInputStream();
			OutputStream out = socket.getOutputStream();
			
			BufferedReader reader = new BufferedReader(new InputStreamReader(in));
			PrintWriter writer = new PrintWriter(out);
			
			String name = reader.readLine();
			System.out.println("[" + name + "]이 접속하였습니다");
			
		}
		
	}
}

'자바 > network' 카테고리의 다른 글

sync  (0) 2019.06.10
store  (0) 2019.06.10
mallClient  (0) 2019.06.10
file  (0) 2019.06.10
chat  (0) 2019.06.10

+ Recent posts