고급자바

김강산·2022년 8월 17일
0

고급JAVA

목록 보기
11/15

소켓 프로그래밍

소켓(Socket) 통신 기초

1. 소켓(Socket)이란?

네트워크로 연결된 두 대의 호스트간 통신을 위한 양쪽 끝을 의미한다.

2. 소켓(Socket)의 역할

커넥션(Connection)을 개설하기 위한 도구
ex) 전화기, 무전기

3. 대표적인 잘 알려진 포트들(Well Known Port)

(1) 7 : Echo
(2) 13 : DayTime
(3) 21 : Ftp
(4) 23 : Telnet
(5) 25 : SMTP
(6) 80 : HTTP

TCP 소켓(Socket) 통신

1. TCOP 소켓 서버 프로그래밍

동작 과정
(가) TCP 소켓통신을 하기 위해 ServerSocket객체를 생성한다
(나) ServerSocket객체의 accept()메서드를 호출하여 Client로부터 연결요청이
올 때까지 계속 기다린다.
(다) 연결 요청이 들어오면 새로운 Socket객체를 생성하여 Client의 Socket과
연결한다
(라) Socket객체의 Stream객체(InputStream, OutputStream)를 이용하여 메시지를
주고 받는다.
(마) 사용이 완료된 소켓은 close()메서드를 이용하여 종료 처리한다.

2. TCP 소켓 클라이언트 프로그래밍

동작 과정
(가) 소켓을 생성하여 서버에 연결 요청을 한다.
(나) 연결이 정상적으로 이루어 지면 생성된 소켓객체를 이용하여 서버와 메시지를
주고 받는다.
(생성된 소켓으로부터 스트림(InputStream, OutputStream)객체를 가져와 이용)
(다) 사용이 완료된 소켓은 close()메서드를 이용하여 종료 처리한다.

UDP 소켓(Socket) 통신

1. UDP 소켓 서버 프로그래밍

동작 과정
(가) TCP 소켓통신을 하기 위해 ServerSocket 객체를 생성한다.
(나) ServerSocket객체의 accept()메서드를 호출하여 Client로부터 연결요청이
올 때까지 계속 기다린다.

2. UDP 소켓 클라이언트 프로그래밍

동작 과정
(가) 소켓을 생성하여 서버에 연결 요청을 한다.
(나) 연결이 정상적으로 이루어 지면 생성된 소켓객체를 이용하여 서버와 메시지를
주고 받는다.
(생성된 소켓으로부터 스트림(InpuptStream, OutputStream)객체를 가져와 이용)
(다) 사용이 완료된 소켓을 close()메서드를 이용하여 종료 처리한다.

0개의 댓글