- [Java] 95. 1:1 양방향 통신 (서버 측)2024년 05월 22일
- Song hyun
- 작성자
- 2024.05.22.:43
728x90반응형[Java] 94. 1:1 양방향 통신 (서버 측)
1. 서버 측 시나리오 코드
1. 서버 측 시나리오 코드
(1) 양방향 통신 시에는 inputStream/outputStream 둘 모두가 필요하다.
(2) 서버측 준비물
-클라이언트 측의 연결 요청을 받을 서버 소켓
-포트 번호(0~65535)
(3) 5001의 포트 번호를 지닌 serverSocket을 선언, 초기화한다.
(4) serverSocket.accept()를 통해, 5001 포트번호의 클라이언트와 연결되는 소켓을 선언한다.
(5) inputStream-BufferedReader: socket을 통해 클라이언트 측으로부터 받은 데이터를 읽어들인다.
(6) outputStream-PrintWriter: socket을 통해 클라이언트에게 메세지를 보낸다.
이 때 auto flush를 true로 설정하면, 더욱 더 편리하게 데이터를 보낼 수 있다.
(7) try-catch-finally 문을 통해 socket과 serverSocket을 닫아준다.
1. 서버 측 시나리오 코드
-InputStream, OutputStream 둘 다 필요하다.
package ch03; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class ClientFile { public static void main(String[] args) { // 클라이언트 측 준비물 // 1. 서버 측 IP 주소와 포트 번호가 필요하다. // 2. 서버 측 소켓과 연결될 소켓이 필요하다. Socket socket = null; try { socket = new Socket("localhost",5001); PrintWriter writer = new PrintWriter(socket.getOutputStream(),true); writer.println("안녕! 반가워~"); // 서버로부터 데이터를 받기 위한 입력 스트림이 필요하다. // 대상은 소켓이다. BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); String message=reader.readLine(); System.out.println("서버 측 응답 : "+message); } catch (Exception e) { e.printStackTrace(); } finally { if(socket != null) { try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
728x90반응형'Java > 네트워크 통신' 카테고리의 다른 글
[Java] 97. 코드 리팩토링 (1:1 양방향 통신-서버측) (0) 2024.05.23 [Java] 96. 1:1 양방향 통신(채팅 기본 기능 구현) (0) 2024.05.22 [Java] 94. 1:1 단방향 통신 (Client) (0) 2024.05.22 [Java] 93. 1:1 단방향 통신 (Server 측) (0) 2024.05.22 [Java] 92. Socket이란? (0) 2024.05.22 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)