안녕하세요! 😊 오늘은 자바(Java)를 사용하여 TCP Fixed Length 방식으로 데이터를 주고받는 방법을 쉽게 설명해 드릴게요! 소켓 프로그래밍이 처음이라도 걱정하지 마세요. 하나씩 차근차근 설명해 드릴게요! 📚
목차

1. TCP Fixed Length란? 🤔
TCP Fixed Length는 고정된 길이의 데이터를 송수신하는 방식이에요. 즉, 정해진 길이만큼 데이터를 보내고 받아야 한다는 의미죠. 예를 들어, 20바이트로 정해졌다면, 20바이트를 꼭 맞춰서 보내야 해요. 길이가 부족하면 공백(빈칸)으로 채우기도 해요.
📌 특징
특징 | 설명 |
---|---|
고정된 길이 | 정해진 바이트 수를 반드시 지켜야 함 |
빠르고 안정적 | 데이터 크기가 일정해서 처리 속도가 빠름 |
패딩 필요 | 부족한 길이는 공백 등으로 채움 |
2. 개발 환경 설정 🛠
자바에서 TCP 통신을 하기 위해 필요한 환경을 먼저 설정해볼까요? 🎉
📌 준비물
- JDK 8 이상 설치 (다운로드)
- IDE (이클립스, 인텔리제이 등)
- 서버와 클라이언트를 실행할 환경
3. 자바 코드 예제 ✍️
이제 본격적으로 자바 코드를 작성해볼게요! 서버와 클라이언트를 따로 만들어야 해요.
✅ 서버 코드
import java.io.*; import java.net.*; public class FixedLengthServer { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(5000); System.out.println("서버가 시작되었습니다! 🚀"); while (true) { Socket socket = serverSocket.accept(); BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); String receivedData = reader.readLine(); System.out.println("클라이언트로부터 받은 데이터: " + receivedData); socket.close(); } } }
✅ 클라이언트 코드
import java.io.*; import java.net.*; public class FixedLengthClient { public static void main(String[] args) throws IOException { Socket socket = new Socket("localhost", 5000); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); String data = "HelloWorld12345 "; // 총 20바이트 writer.write(data); writer.newLine(); writer.flush(); System.out.println("데이터 전송 완료! 🎯"); socket.close(); } }
4. 실행 및 테스트 방법 🎯
코드를 실행하는 방법을 알려드릴게요! 🚀
- 서버를 먼저 실행하세요.
- 클라이언트를 실행해서 서버에 데이터를 보내세요.
- 서버 콘솔에 받은 데이터가 출력되는지 확인하세요.
5. 정리 및 마무리 ✅
오늘은 자바 TCP Fixed Length 방식으로 데이터를 주고받는 방법을 배웠어요! 🎉
📌 핵심 정리
- TCP Fixed Length는 데이터를 정해진 길이로 보내야 한다.
- 자바에서 ServerSocket과 Socket을 사용해 구현할 수 있다.
- 클라이언트는 BufferedWriter를 사용해 데이터를 보낸다.
이제 여러분도 TCP 소켓 프로그래밍을 할 수 있어요! 더 궁금한 점이 있으면 언제든 질문해주세요. 🚀