Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 상수
- Java
- Java데이터 타입
- 집합관계
- 접근제어지시자
- 컴파일
- 연관관계
- this예약어
- break문
- 포함관계
- continue문
- 메서드 오버로딩
- 생성자
- While
- java변수
- 시스템 환경 변수 편집
- 형 변환
- 메서드
- OPP개념
- 반복문
- for문
- Thread
- IntelliJ IDEA
- 인텔리제이 기초 설정
- 인텔리제이 한글 깨짐 해결법
- multi-threading
- 자바 멀티스레딩
- JAVA객체지향
- JAVA기초
- function
Archives
- Today
- Total
최원종의 개발 블로그
(소켓 - 4) 1: 1 양방향 통신 본문
-서버 코드
package server.ch02;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerFile {
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(5001)) {
Socket clientSocket = serverSocket.accept();
System.out.println("클라이언트 연결 됨");
//간단한 흐름 약속( 연결 후 클라이언트가 먼저 서버 측으로 메세지를 보낼 예정)
//읽기 스트림 준비 (클라이언트 --->서버)
BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
//쓰기 스트림 준비( 서버 ---> 클라이언트)
PrintWriter writer = new PrintWriter(clientSocket.getOutputStream(), true);
//기능 호출
//1. 먼저 클라이언트에서 보낸 메시지 받기
String message = reader.readLine();
System.out.println("클라이언트측 메세지 : " + message);
//2. 서버가 클라이언트에게 응답 전송
writer.println("안녕 나는 서버야 ,반가워");
} catch (IOException e) {
System.out.println("오류 발생 : " + e.getMessage());
}
}
}
-클라이언트 코드
package client.ch02;
import java.io.*;
import java.net.Socket;
import java.net.UnknownHostException;
public class ClientFile {
public static void main(String[] args) {
try (Socket socket = new Socket("localhost", 5001)) {
//Socket socket = new Socket("localhost" , 5001) 생성 되는 순간
//서버 측과 연결상태
//쓰는 스트림( 클라이언트 --> 서버_
PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);
//읽기 스트림( 서버 --> 클라이언트)
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//기능 실행
writer.println("서버야 안녕");
//서버에서 보낸 응답 수신
String response = reader.readLine();
System.out.println("서버 측 응답 : " + response);
} catch (UnknownHostException e) {
System.out.println("서버 측을 알 수 없습니다");
throw new RuntimeException(e);
} catch (IOException e) {
System.out.println("서버측에 연결할 수 없습니다.");
}
}
}
-출력 결과
'Java > JAVA 유용한 클래스' 카테고리의 다른 글
| (소켓 - 6) 1:N 실시간 채팅 (브로드캐스트) (0) | 2026.03.27 |
|---|---|
| (소켓 - 5) 1:1 실시간 채팅(멀티스레드) (0) | 2026.03.27 |
| (소켓-3) 1:1 단방향 통신 -클라이언트 (0) | 2026.03.26 |
| (소켓 - 2) 1:1 단방향 통신 - 서버 (0) | 2026.03.26 |
| 소켓(Socket) (0) | 2026.03.26 |

