📘 동시 클라이언트 구축(1:1)


전체 코드

더보기
# ========================================================
# AI TCP 클라이언트 예제 (ai_client.py)
# ========================================================
# 기능 :
# - 사용자가 입력한 유형(JSON)을 서버로 전송
# - 서버의 분석 결과를 수신 및 출력

import socket
import json

# ========================================================
# 1. 서버 네트워크 설정
# ========================================================

HOST = '' # 서버의 IP 주소(Localhost)
PORT = 9999 # 사용할 포트 번호(0 ~ 65535 중 하나, 다른 서비스와 중복 금지)

# ========================================================
# 2. 서버 연결
# ========================================================
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((HOST, PORT))
print("서버에 연결되었습니다. (종료하려면 'exit' 입력)\n")

# ========================================================
# 3. 송수신 루프
# ========================================================
while True:
    # 요청 모드 입력
    mode = input("분석 모드 (length / sentiment / keyword): ").strip()

    if mode.lower() == 'exit':
        client_socket.sendall(mode.encode())
        break

    # 분석할 테스트 입력
    text = input("분석할 문장 입력: ").strip()

    # 요청 JSON 구성
    request = {"mode": mode, "text": text}

    # JSON 직렬화 후 서버로 전송
    client_socket.sendall(json.dumps(request, ensure_ascii=False).encode())

    # 서버 응답 수신
    data = client_socket.recv(2048).decode()
    try:
        response = json.loads(data)
        print(f"\n 서버 응답: {json.dumps(response, ensure_ascii=False, indent=2)}\n")
    except json.decoder.JSONDecodeError:
        print(f"서버 응답 오류: {data}")

# ========================================================
# 4. 연결 종료
# ========================================================
client_socket.close()
print("클라이언트 종료 완료")
분석을 받고자 하는 항목(길이/감정/키워드)을 선택하여 입력하고, 자유롭게 문장을 입력하여 전송하면 서버에서 분석한 결과를 반환받는 코드예요.
길이(length)를 선택하고 문장을 입력했더니 "문자 길이는 13자입니다." 식으로 반환되고,
감정(sentiment)을 선택하고 "좋아"가 포함된 문장을 입력했더니 "posivite"로 반환되었고,
키워드(keyword)를 선택하고 "나는 AI 기능이 포함된 서비스를 개발하고 말 거야"라고 입력하니, "AI", "서비스"가 반환되었어요. 😋

+ Recent posts