본문 바로가기

AWS CLOUD FRAMEWORK/Java

[Day18] Ex01

package socket;

import java.io.BufferedWriter;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.util.Scanner;

public class Ex01 {
	public static void main(String[] args) throws Exception {
		
		Socket so = new Socket("127.0.0.1", 7777);
		// 소켓 객체는 생성시, 접속할 대상의 주소와 포트번호를 매개변수에 넣어준다
		// 포트는 0 ~ 65535의 범위를 가진다
		
		// IP주소 : 건물이름
		// 포트번호 : 객실번호
		// 주소와 포트를 지정하면 대상 컴퓨터에서 실행되는 프로세스와 연결하여 데이터를 주고 받는다
		
		// 소켓에서 지정한 대상에게 데이터를 내보내기 위한 스트림을 생성
		OutputStream os = so.getOutputStream();
		
		// 글자(텍스트)를 보내기 위해서 Writer형식으로 만듦
		OutputStreamWriter osw = new OutputStreamWriter(os);
		
		// 버퍼 단위로 출력하기 위해서 객체 생성
		BufferedWriter bw = new BufferedWriter(osw);
		
		// 키보드로 입력받기 위한 Scanner
		Scanner sc = new Scanner(System.in);
		
		System.out.println("[Client] 연결되었습니다");
		System.out.print("서버에 전송할 메시지 입력 : ");
		String text = sc.nextLine();	// 클라이언트의 키보드로 입력받아서
		bw.write(text);					// 입력받은 대상을 bw에 넣는다
		bw.newLine();					// 한줄 바꾼다
		bw.flush(); 					// flush해서 버퍼 내용을 밀어서 보낸다
		
		bw.close();				
		sc.close();
		so.close();	// 사용이 끝난 스트림 및 소켓은 반드시 닫아준다
		
	}
}

'AWS CLOUD FRAMEWORK > Java' 카테고리의 다른 글

[Day18] Ex03  (0) 2023.04.07
[Day18] Ex02  (0) 2023.04.07
[Day18] Ex01_Server  (0) 2023.04.07
[Day17] Quiz  (0) 2023.04.06
[Day17] Ex08  (0) 2023.04.06