카테고리 없음

10. 소켓 프로그래밍

도도.__. 2025. 6. 10. 16:46

학습목표

  • 소켓 프로그래밍 이해
  • 에코 서버-클라이언트 실습
  • 채팅 프로그램 실습

TCP/IP 프로토콜 구조 (4계층)

  1. 네트워크 접근 계층
  2. 인터넷 계층 – IP 주소
  3. 전송 계층 – TCP/UDP, 포트 번호
  4. 응용 계층 – 애플리케이션 데이터

소켓(Socket)의 개념

  • 소켓: TCP/IP 네트워크 상에서 통신을 위한 소프트웨어 접속점
  • 응용 프로그램 ↔ 소켓 ↔ TCP ↔ IP
  • TCP 소켓: 신뢰성 있는 연결 방식
  • UDP 소켓: 빠르지만 비신뢰적 방식

socket vs websocket

항목 Socket WebSocket
연결 방식 TCP/IP 기반 HTTP 기반
구현 방식 동기/비동기 모두 가능 주로 비동기
보안 TCP 보안 SSL/TLS 가능
사용처 서버/서버 통신 웹 채팅, 실시간 게임 등

다중 클라이언트 (Thread 활용)

  • 송신 쓰레드: 사용자 입력 전송
  • 수신 쓰레드: 서버 메시지 출력
  • 서버: 각 클라이언트를 별도 쓰레드로 관리
  • ⚠️ 동기화/예외처리 주의