*소켓

- 1982년 Berkeley Software Distribution

- 소프트웨어로 작성된 추상적인 개념의 통신 접속점

- 네트워크 AP는 소켓을 통하여 통신망으로 데이터를 송수신

- 소켓은 AP에서 TCP/IP를 이용하는 창구 역할

- AP와 소켓 사이의 인터페이스 역할

- 두 프로그램이 네트워크를 통해 서로 통신을 수행할 수 있도록 양쪽에 생성되는 링크의 단자

- 두 소켓이 연결되면 서로 다른 프로세스 간에 데이터를 전달할 수 있음

- 소켓이 구현됨으로써 네트워크 및 전송 계층의 캡슐화가 가능해짐

- 소켓은 통신을 위한 일종의 통로

- 소켓은 상대방에게 데이터를 보내거나 받는 역할

- 연결을 수동적으로 기다리면 서버, 능동적으로 연결을 하면 클라이언트

 

*TCP/IP Socket 통신

- 클라이언트 프로그램과 서버 프로그램은 각각 자신의 포트를 통해 통신해야 함

- 연결을 할 때도 포트를 사용하고 데이터를 교환할 때도 포트를 사용

- 자바 프로그램에서 포트를 사용하기 위해서는 소켓을 이용해야 함

- 자바 안에서 소켓의 종류에는 서버 소켓과 클라이언트 소켓이 있음

 

*서버 소켓(server socket)

- 서버 소켓은 말 그대로 서버 프로그램에서만 사용하는 소켓

- 서버 소켓은 클라이언트로부터 연결 요청이 오기를 기다렸다가 연결 요청이 들어오면 클라이언트와 연결을 맺고 다른 소켓을 만드는 일을 한다.

 

*클라이언트 소켓(client socket)

- 클라이언트 소켓은 기다릴 필요가 없기 때문에 바로 클라이언트 소켓을 생성

- 클라이언트 프로그램에서 클라이언트 소켓은 서버프로그램으로 연결요청을 하고 데이터 전송을 한다.

 

반응형

'스타트업 > 프로그래밍' 카테고리의 다른 글

[프로그래밍] HTTP 통신  (0) 2020.09.02
[프로그래밍] HTTP 통신 vs Socket 통신  (0) 2020.09.02
[프로그래밍] Flask Streaming  (0) 2020.06.17
[프로그래밍] Flask File Upload  (0) 2020.06.17
[프로그래밍] Flask  (1) 2020.06.16

+ Recent posts