[Java] 78. 소켓 통신 - Simplex

백하림's avatar
Feb 20, 2025
[Java] 78. 소켓 통신 - Simplex
package ex20.ch01; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; // 단방향 통신 public class MyServer01 { public static void main(String[] args) { try { ServerSocket ss = new ServerSocket(20000); System.out.println("서버 소켓이 대기 중 입니다. 연결을 시도해주세요."); Socket socket = ss.accept(); // 프로세스 대기 상태 System.out.println("소켓이 연결 되었습니다."); BufferedReader br = new BufferedReader( new InputStreamReader(socket.getInputStream())); String body = br.readLine(); // 버퍼 소비 (여기서 멈춰있음) System.out.println("서버측 : " + body); } catch (IOException e) { throw new RuntimeException(e); } } }
notion image
package ex20.ch01; import java.io.*; import java.net.Socket; public class MyClient01 { public static void main(String[] args) { try { // localhost : 루프백 주소, 내 주소 Socket socket = new Socket("localhost", 20000); // 소켓 연결 BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in)); System.out.println("키보드 입력 대기 중..."); String msg = keyboard.readLine(); // 여기서 멈춰있음 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); bw.write(msg); bw.write("\n"); // 외워라 bw.flush(); } catch (IOException e) { throw new RuntimeException(e); } } }
notion image
Share article

harimmon