목차

i - 소개

1 - listen socket

1.1 - 소켓이란?

1.2 - LISTEN 상태

1.3 - 소켓을 LISTEN 상태로 설정하는 방법

2 - listen socket 설정하기(with C/C++)

2.1 - socket()

2.2 - bind()

2.3 - listen()

o - 마무리

i - 소개

서버가 클라이언트로 부터 오는 요청을 받아 처리하기 위해서는 먼저 client socket을 생성할 수 있도록 서버의 listen socket을 설정해야 한다. socket을 LISTEN 상태로 만들어서 client로 부터 오는 요청을 받을 수 있도록하는 방법을 알아보자.

1 - listen socket

1.1 - 소켓이란?

서버와 클라이언트가 서로 접속하고 통신을 하기 위해서 **소켓(socket)**을 이용한다. 소켓은 네트워크 통신 기능을 제공하는 인터페이스다(Network Application Interface). 네트워크 통신을 하기 위해서는 하드웨어에서 신호를 받아 운영체제에서 처리해주는 등의 저수준 과정이 필요하다. 소켓은 그런 저수준 영역에서 네트워크 통신을 위해 어떻게 처리하는지 알지 않아도 어플리케이션 구현단에서 편리하게 네트워크 통신 기능을 사용할 수 있게 해준다. 마치 TV 뒤의 소켓에 플러그를 꽂으면 TV 내부에서 영상을 어떻게 처리하는지 몰라도 영상을 볼 수 있는 것 처럼 말이다. 소켓을 이용할 때 소켓 함수가 받는 인자들에 대한 데이터를 어플리케이션 단에서 처리해서 넣어주면 편리하게 네트워크 기능을 이용할 수 있다.

[이런 사진이라도 있으면 좋지 않을까 싶어서 올리는 사진] https://www.samsung.com/latin_en/support/tv-audio-video/smart-tv-audio-input-and-output-connections-optic/

[이런 사진이라도 있으면 좋지 않을까 싶어서 올리는 사진] https://www.samsung.com/latin_en/support/tv-audio-video/smart-tv-audio-input-and-output-connections-optic/

1.2 - LISTEN 상태

서버와 클라이언트가 통신을 위해 연결하기 위해서는 서버에서 클라이언트의 요청을 기다리고 있어야 한다. 서버에 있는 소켓이 LISTEN 상태일때 클라이언트의 접속 요청 신호를 받을 수 있다. 이 소켓을 listen socket 이라고 부른다. listen socket이 클라이언트의 접속 요청을 받은 이후에 클라이언트와 접속을 하면 그 클라이언트와 통신할 수 있는 소켓이 생성된다. 클라이언트와 통신할 수 있는 이 소켓을 client socket 이라고 부른다. 이 글에서는 서버가 클라이언트의 접속 요청 신호를 받을 수 있는 상태로 만들기 위해 listen socket을 설정하는 과정까지 알아본다.

1.3 - LISTEN 상태로 설정하는 방법