📙 TCP / UDP 개념
TCP / UDP는 OSI 7계층 중 전송계층에서 사용하는 프로토콜이다.
TCP
TCP는 Transmission Control Protocol로 연결형 서비스를 지원하는 가상회선 프로토콜이다. 신뢰성 있는 데이터를 전송하며, 흐름제어가 가능하다.
3-way handshaking을 통해 연결을 초기화하고 4-way handshaking으로 세션을 종료한다.
파일 전송과 같은 신뢰성이 중요한 서비스에 TCP 프로토콜을 사용한다.
UDP
UDP는 User Datagram Protocol로 비연결형 서비스를 지원하는 프로토콜로, 정보를 주고받을 때 연결하지 않고 데이터를 발신자가 일방적으로 전송한다. 데이터를 데이터 그램 단위로 처리하며 신뢰성 없는 데이터를 전송하며 TCP보다 전송속도가 빠르다.
스트리밍 서비스와 같은 연속성, 성능이 중요한 서비스에 UDP 프로토콜을 사용한다.
📝 서버 프로그램 구조
- ServerSocket 객체 생성
ServerSocket serverSoc = new ServerSocket(portNumber, queueLength); //포트번호, 연결요청 보관하는 큐 길이
- accept() 메소드 호출
Socket clientSoc = serverSoc.accept(); //accept는 연결 성공시 socket 리턴
- 소켓으로부터 스트림 객체를 얻는다.
InputStream input = clientSocket.getInputStream();
OutputStream output = clientSocket.getOutputStream();
- 상호 대화 단계
read(), write() 사용
- 종료
사용한 reader, writer 자원 close
클라이언트, 서버 소켓 close
참고
파워 자바 3판
☕️ 잡담
네트워크 조금 재밌다!
댓글