[CS기초] 소켓 프로그래밍 핵심 개념 정리 (socket, connect, bind, listen, accept)

2025. 5. 4. 22:05·크래프톤 정글/CS기초(키워드, 개념정리)

소켓 프로그래밍 핵심 개념 정리 (socket, connect, bind, listen, accept)

소켓(Socket)은 네트워크 상에서 데이터를 주고받기 위한 통신의 끝점(endpoint)입니다. 이는 네트워크 프로그램에서 통신 채널을 설정하는 데 사용되지요.

 

소켓 프로그래밍의 핵심 함수

socket()

  • 네트워크 통신을 위한 소켓을 생성한다
  • 통신 도메인(예: IPv4, IPv6), 소켓 타입(예: TCP, UDP), 프로토콜을 지정한다

connect()

  • 클라이언트에서 서버의 소켓에 연결 요청을 보낼 때 사용한다
  • 서버의 IP 주소와 포트 번호가 인자로 제공됩니다.

bind()

  • 생성된 소켓에 특정 IP 주소와 포트 번호를 연결(바인딩)한다
  • 주로 서버에서 사용하며, 클라이언트가 연결할 수 있는 고정된 주소를 제공한다

listen()

  • 바인딩된 소켓을 통해 클라이언트의 연결 요청을 수신할 준비를 한다
  • 백로그(backlog) 인자를 통해 연결 요청 대기 큐(queue)의 크기를 설정한다

accept()

  • 서버가 listen 상태에서 클라이언트의 연결 요청을 받아들일 때 사용된다
  • 클라이언트와의 실제 통신을 위한 새로운 소켓을 반환하며, 기존 소켓은 계속해서 다른 요청을 수신할 수 있다

 

소켓 프로그래밍의 동작 흐름

  • 서버: socket → bind → listen → accept
  • 클라이언트: socket → connect

 

마치면서

위의 함수들을 통해 클라이언트와 서버 간의 통신이 이루어지고, 이는 웹 브라우저에서의 요청 처리부터 다양한 네트워크 애플리케이션의 기초가 되는데요. 소켓 프로그래밍을 깊이 이해하면, 네트워크상에서 발생하는 거의 모든 통신 과정이 명쾌하게 보이기 시작하게 됩니다.

저작자표시 비영리 변경금지

'크래프톤 정글 > CS기초(키워드, 개념정리)' 카테고리의 다른 글

[CS기초] 파일 디스크립터(File Descriptor) 핵심 개념 정리  (0) 2025.05.05
[CS기초] 프록시(Proxy) 핵심 개념 정리  (0) 2025.05.04
[CS기초] 클라이언트-서버 모델(Client-Server Model)  (0) 2025.05.04
[CS기초] 네트워크 계층 (OSI 7 Layer와 TCP/IP Layer)  (0) 2025.05.02
[CS기초] 만화로 보는 Implicit vs Explicit free list을 구분하는 방식  (0) 2025.05.01
'크래프톤 정글/CS기초(키워드, 개념정리)' 카테고리의 다른 글
  • [CS기초] 파일 디스크립터(File Descriptor) 핵심 개념 정리
  • [CS기초] 프록시(Proxy) 핵심 개념 정리
  • [CS기초] 클라이언트-서버 모델(Client-Server Model)
  • [CS기초] 네트워크 계층 (OSI 7 Layer와 TCP/IP Layer)
그냥사람_
그냥사람_
IT 관련 포스팅을 합니다. 크래프톤 정글 8기 정경호
  • 그냥사람_
    그냥코딩
    그냥사람_
  • 전체
    오늘
    어제
    • 글 전체보기 N
      • 크래프톤 정글 N
        • 로드 투 정글(입학시험)
        • CS기초(키워드, 개념정리) N
        • 컴퓨터구조(CSAPP)
        • Code 정글(C언어) N
        • 마이 정글(WIL, 에세이)
      • 자료구조&알고리즘
        • 자료구조
        • 알고리즘
      • 일상
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.3
그냥사람_
[CS기초] 소켓 프로그래밍 핵심 개념 정리 (socket, connect, bind, listen, accept)
상단으로

티스토리툴바