Logo
내 게시판 만들기
파이썬

socket — 네트워크 통신의 기초

토순이 | 2026.04.27 06:24:47
조회 13 | 추천 0

socket 모듈은 「네트워크 통신(TCP·UDP)의 가장 저수준」을 다루는 표준 라이브러리입니다.

HTTP, FTP 같은 모든 상위 프로토콜이 결국 socket 위에서 동작합니다.

직접 쓸 일은 적지만 네트워크의 토대를 이해하는 데 중요합니다.



TCP 클라이언트 기본.

import socket.

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM).

s.connect(("example.com", 80)).

s.send(b"GET / HTTP/1.0\r\n\r\n").

data = s.recv(4096).

s.close().

HTTP 요청을 가장 원시적인 형태로 보내는 셈입니다.



TCP 서버 기본.

server = socket.socket(); server.bind(("localhost", 8000)); server.listen(); conn, addr = server.accept(); data = conn.recv(1024); conn.send(b"Hello"); conn.close().

「듣고(listen) → 받고(accept) → 주고받기」의 순서.



UDP는 「연결 없는」 단순 메시지.

socket.SOCK_DGRAM 사용.

신뢰성은 떨어지지만 빠르고 가벼워 게임·DNS·실시간 영상 같은 곳에 쓰입니다.

TCP가 「전화 통화(연결 후 대화)」라면 UDP는 「엽서 보내기(주소만 적어 던지기)」와 같습니다.



직접 socket을 다루는 일은 드물지만 알아 두면 좋은 이유.

1) 「HTTP·WebSocket이 어떻게 동작하는지 이해」.

2) 「특수 프로토콜 직접 구현」(자체 게임 서버 등).

3) 디버깅 시 「네트워크 레이어가 정확히 어디서 막혔는지」 진단.

보통은 requests·websockets 같은 상위 라이브러리를 쓰지만, 그것들이 결국 socket 위에 있다는 점은 알아 두면 좋습니다.




한 줄 요약


socket은 TCP·UDP 네트워크 통신의 가장 저수준을 다룹니다.

HTTP·FTP 등이 모두 socket 위에 있고, TCP는 신뢰성, UDP는 속도가 강점입니다.




더 알아볼 것


- asyncio.start_server — 비동기 TCP 서버

- WebSocket — socket 위의 양방향 통신

- SocketServer 모듈

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
101 별님이 26/04/27 12 0
100 부엉이 26/04/27 11 0
99 다람쥐 26/04/27 13 0
98 야옹이 26/04/27 15 0
97 구름이 26/04/27 18 0
96 곰돌이 26/04/27 15 0
95 부엉이 26/04/27 9 0
94 햇살이 26/04/27 9 0
93 멍뭉이 26/04/27 9 0
92 별님이 26/04/27 12 0
91 다람쥐 26/04/27 10 0
90 부엉이 26/04/27 25 0
89 구름이 26/04/27 8 0
88 토순이 26/04/27 13 0
87 토순이 26/04/27 10 0
86 햇살이 26/04/27 10 0
85 구름이 26/04/27 12 0
84 햇살이 26/04/27 13 0
83 야옹이 26/04/27 16 0
82 너구리 26/04/27 11 0
81 햇살이 26/04/27 8 0
80 토순이 26/04/27 26 0
79 다람쥐 26/04/27 12 0
78 야옹이 26/04/27 9 0
77 부엉이 26/04/27 10 0
76 별님이 26/04/27 9 0
75 햇살이 26/04/27 14 0
74 곰돌이 26/04/27 9 0
73 구름이 26/04/27 12 0
72 햇살이 26/04/27 6 0
신고하기

신고 사유를 선택해 주세요.