# ========================================================
# TCP/IP 클라이언트 예제
# ========================================================
# 사용자가 입력한 메시지를 서버로 전송하고, 서버의 응답을 받아 출력하는 간단한 클라이언트
# ========================================================
import socket # 네트워크 통신을 위한 기본 모듈
# ========================================================
# 1. 서버 기본 설정
# ========================================================
HOST = '' # 서버의 IP 주소(localhost)
PORT = 9999 # 사용할 포트 번호(0 ~ 65535 중 하나, 다른 서비스와 중복 금지)
# ========================================================
# 2. 소켓 생성
# ========================================================
# IPv4(AF_INET) + TCP(SOCK_STREAM) 사용
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# ========================================================
# 3. 서버에 연결 시도
# ========================================================
client_socket.connect((HOST, PORT))
print(f"서버({HOST}:{PORT})에 연결 되었습니다.")
print("메시지를 입력하세요. (종료하려면 'exit' 입력)\n")
# ========================================================
# 4. 메시지 송수신 루프
# ========================================================
while True:
# 사용자 입력 대기
message = input("보낼 메시지: ")
# 'exit' 입력 시 종료
if message.lower() == "exit":
client_socket.sendall(message.encode())
break
# 서버로 메시지 전송
client_socket.sendall(message.encode())
# 서버로부터 응답 수신
data = client_socket.recv(1024).decode()
print(f"서버 응답: {data}\n")
# ========================================================
# 5. 소켓 종료
# ========================================================
client_socket.close()
print("클라이언트 종료 완료")
서버가 실행된 상태에서 Client 코드 파일을 실행(Ctrl+Shift+F10)을 하면 입력창(input)이 나와요.
서버로 보낼 데이터(메시지)를 전송하면 서버가 잘 받았다고 수신을 보내주네요. 😁 이러면 클라이언트 코드도 완료!