• 티스토리 홈
  • 프로필사진
    소쩍소쩍이
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
소쩍소쩍이
  • 프로필사진
    소쩍소쩍이
    • 분류 전체보기 (89)
      • 파이썬 (18)
        • 문제 및 예제 (8)
      • PySide6 (24)
        • Signal & Slot (6)
        • Layout (8)
        • Model & View (3)
        • File (4)
        • Resource (3)
      • Server - Client (17)
        • GUI 채팅 (1)
      • MySQL (4)
      • 리눅스 (5)
      • 아두이노 (0)
      • 일지 (20)
  • GitHub
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    # Home
    # 공지사항
    #
    # 태그
    # 검색결과
    # 방명록
    • 클라이언트 만들기
      2026년 06월 22일
      • 소쩍소쩍이
      • 작성자
      • 2026.06.22.:33

      클라이언트 소켓 만들기

      클라이언트도 서버와 마찬가지로 소켓 객체를 먼저 생성해야 한다.

      import socket
      
      HOST = "127.0.0.1"
      PORT = 5000
      
      client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      코드 의미
      HOST = "127.0.0.1" 접속할 서버의 IP 주소
      PORT = 5000 접속할 서버의 포트 번호
      socket.socket(...) 클라이언트 소켓 생성

      HOST와 PORT는 서버와 같은 값을 사용하지만 역할은 다르다. 서버에서는 해당 주소에서 기다리고, 클라이언트는 해당 주소로 접속한다.

      구분 서버 클라이언트
      HOST 서버가 기다릴 주소 클라이언트가 찾아갈 서버 주소
      PORT 서버가 기다릴 포트 클라이언트가 접속할 서버 포트
      참고
      같은 컴퓨터에서 실습할 경우 127.0.0.1(Localhost)을 사용한다. 이는 현재 실행 중인 내 컴퓨터를 의미한다.

       

      서버 접속 요청하기

      소켓을 생성한 뒤 connect()를 사용하여 서버에 접속을 요청한다.

      client_socket.connect((HOST, PORT))
      print("서버에 연결되었습니다.")
      
      client_socket.close()
      print("클라이언트 소켓을 닫았습니다.")

      connect()는 클라이언트가 서버 주소로 접속을 시도하는 함수이다. HOST와 PORT는 하나의 튜플 형태로 전달해야 한다.

      중요
      connect(HOST, PORT)가 아니라
      connect((HOST, PORT)) 형태로 작성해야 한다.

       

      connect() 이후 흐름

      순서 동작
      1 클라이언트 소켓 생성
      2 connect()로 서버 접속 요청
      3 서버가 accept()로 연결 수락
      4 send(), recv()로 데이터 송수신
      5 close()로 연결 종료

       

      자주 발생하는 오류

      오류 상황 원인 및 해결 방법
      ConnectionRefusedError 서버가 실행되지 않았거나 PORT 번호가 다름. 서버를 먼저 실행하고 포트를 확인
      TimeoutError 서버 주소가 잘못되었거나 네트워크 연결 문제
      NameError: socket import socket 누락 또는 오타 확인
      TypeError: connect() connect(HOST, PORT)가 아닌 connect((HOST, PORT)) 사용
      OSError 잘못된 IP 주소 또는 포트 번호 확인

       

      정리
      클라이언트는 socket()으로 소켓을 생성한 뒤
      connect()를 사용하여 서버에 연결을 요청한다.

      연결이 성공하면 서버와 통신할 수 있는 상태가 되며, 이후 send()와 recv()를 이용해 데이터를 주고받는다. 통신이 끝나면 close()로 소켓을 종료한다.

      'Server - Client' 카테고리의 다른 글

      1:1 터미널 채팅 완성하기  (0) 2026.06.22
      반복 송수신과 종료 처리  (0) 2026.06.22
      서버 만들기  (0) 2026.06.22
      소켓의 역할과 동작 흐름  (0) 2026.06.22
      IP, Port, TCP 이해  (0) 2026.06.18
      다음글
      다음 글이 없습니다.
      이전글
      이전 글이 없습니다.
      댓글
    조회된 결과가 없습니다.
    스킨 업데이트 안내
    현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
    ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
    목차
    표시할 목차가 없습니다.
      • 안녕하세요
      • 감사해요
      • 잘있어요

      티스토리툴바