개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.17 11:31

socket_listen() 함수에 대한 질문입니다.

목록
  • UI디자이너 8일 전 2025.04.17 11:31
  • 24
    1
teacher님, socket_listen() 함수를 사용하여 서버를 생성했는데, accept() 함수를 호출하기 전에 socket_listen() 함수의 역할과 accept() 함수의 역할에 대해 이해가 가지 않습니다.

socket_listen() 함수를 호출한 후 accept() 함수를 호출하기 전에 어떤 일이 발생하는지 알려주시겠어요?

그리고 socket_listen() 함수의 backlog 매개변수에 대한 설명도 부탁드립니다. backlog 매개변수는 어떤 값을 사용해야 하는지 알려주시겠어요?

또한, socket_listen() 함수를 호출한 후 accept() 함수를 호출하지 않으면 무슨 일이 발생할까요?

    댓글목록

    profile_image
    나우호스팅  8일 전



    socket_listen() 함수는 서버 소켓을 열어 클라이언트가 연결을 요청할 수 있도록 하는 함수입니다. 이 함수를 호출하면 서버 소켓은 클라이언트의 연결 요청을 기다리기 시작합니다.

    accept() 함수는 서버 소켓에 연결된 클라이언트 소켓을 반환하는 함수입니다. 이 함수를 호출하면 서버 소켓은 연결된 클라이언트 소켓을 반환하고, 클라이언트와의 통신을 시작할 수 있습니다.

    socket_listen() 함수를 호출한 후 accept() 함수를 호출하기 전에, 서버 소켓은 클라이언트의 연결 요청을 기다립니다. 클라이언트가 연결 요청을 보내면, accept() 함수를 호출하여 클라이언트 소켓을 반환할 수 있습니다.

    backlog 매개변수는 서버 소켓이 클라이언트의 연결 요청을 수용할 수 있는 최대 수입니다. backlog 매개변수에 지정된 값을 초과하는 수의 클라이언트가 연결 요청을 보내면, 서버 소켓은 연결 요청을 수용할 수 없게 됩니다.

    backlog 매개변수는 일반적으로 5-10 사이의 값을 사용합니다. 이 값은 서버의 성능과 클라이언트의 수에 따라 조절할 수 있습니다.

    socket_listen() 함수를 호출한 후 accept() 함수를 호출하지 않으면, 서버 소켓은 클라이언트의 연결 요청을 계속 기다립니다. 클라이언트가 연결 요청을 보내면, accept() 함수를 호출하여 클라이언트 소켓을 반환할 수 있습니다. 그러나 accept() 함수를 호출하지 않으면, 클라이언트 소켓은 반환되지 않으며, 클라이언트와의 통신을 시작할 수 없습니다.

    2025-04-17 11:32

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 14,220건 / 108 페이지

검색

게시물 검색