본문 바로가기

클라이언트의 접속을 가능하게 하는 listen 함수 listen 함수는 특정 소켓을 클라이언트의 접속을 받을 수 있도록 만들어주는 함수입니다. 우리가 전화기를 사오고 전화번호를 할당받은뒤에는 뭘해야 할까요? 전화기 선을 연결해야겠죠. 그래야 전화가 걸려올테니까요. listen이 바로 그런 기능을 하는 함수입니다. socket 함수로 소켓을 생성하고 bind 함수로 주소를 설정한 다음에는 이제 클라이언트가 접속할 수 있도록 listen 함수를 호출해주어야 합니다. 아래는 listen 함수의 형식입니다. int listen( SOCKET s, int backlog ); s : 이 파라미터에는 bind된 소켓을 넣어줍니다. 이때 주의할점은 이미 listen된 소켓을 넣어주면 에러가 나게 됩니다. 주의하세요. backlog : 연결큐에 최대 몇개의 연결 처리할 .. 더보기
주소할당 함수 bind의 사용 이 단원 전에 2장으로 걸쳐서 주소에 대해 설명을 했습니다. 먼저 bind의 함수에 대해 알아보았고 바로 전단원 에서는 bind 함수를 사용하기 위한 네트웍바이트순서와 IP, port에 대해서 다루었습니다. 이제 여러분은 전화통신 상으로 비교를 해보면 자신의 전화기에 번호를 부여할 수 있는 함수를 다룰 수 있게 된것입니다. 이번 장에서는 bind를 사용한 프로그램을 직접 만들어보면서 그동안 배웠떤 네트웍 관련 함수들을 모두 사용해 봄으로써 어떻게 쓰이는지 확실히 짚고 넘어가보자 합니다. 프로그램이 어떤 흐름으로 돌아가는지를 잘 파악하는게 중요하다고 말씀드리고 싶네요. 먼저 윈속관련 함수를 사용하기 위해선 윈속관련 dll을 초기화 해야 한다고 했습니다. 이를 초기화 하는 이유는 '앞으로 윈속관련 함수들을 .. 더보기
주소 사용법( 주소체계, 바이트순서 ) 이번 단원은 네트웍 프로그래밍을 하기 위해서는 꼭 이해하고 넘어가야 하는 부분입니다. 중요한 만큼 최대한 자세히 다루려고 합니다. 시작해 볼까요? 우리가 이번 단원에서 배울내용은 크게 나누어서 다음과 같습니다. 무슨 내용을 배울때 어떤 내용이 핵심내용인지 파악하고 있다면 훨씬 수월하게 이해할 수 있겠죠. 1. IP와 port 2. sockaddr_in 구조체 3. 네트워크 바이트 순서( Network byte order ) 4. 주소 사용방법. 1. IP와 port에 대해서.. IP주소 모르시는분 없겠죠? 이에대해 굳이 정의를 해본다면 인터넷에 존재하는 사용자(호스트)들을 구분하기 위한 32비트 주소체계를 의미합니다. 이를 다른말로 IPv4(4자리의 IP)라고도 하죠. 지금 도스창에서 ipconfig를 .. 더보기