image.png

1️⃣프로젝트 개요

이 프로젝트는 VirtualBox 기반의 가상화된 CentOS 환경에서 C 언어와 TCP 소켓 프로그래밍을 활용하여 서버-클라이언트 간 데이터 통신을 구현한 애플리케이션입니다. 클라이언트가 가수 이름을 입력하면 서버는 해당 가수의 노래 목록을 반환하고, 노래 제목을 입력하면 해당 노래를 부른 가수를 반환합니다.

2️⃣사용 기술

3️⃣ 주요 기능

  1. 가수와 노래 검색 기능

    클라이언트는 가수 이름을 입력하여 해당 가수의 노래 목록을 서버로부터 받을 수 있습니다. 서버는 미리 정의된 가수들과 그들의 노래 목록을 저장하고 있으며, 클라이언트로부터 요청이 들어올 때 이를 확인하고 결과를 전송합니다.

  2. TCP 소켓 통신

    이 프로젝트는 TCP 소켓을 활용하여 클라이언트와 서버 간의 신뢰성 있는 데이터 전송을 구현하였습니다. 클라이언트는 소켓을 통해 서버에 연결되고, 가수 이름을 서버로 전송한 후, 서버로부터 응답을 받는 방식으로 동작합니다. 서버는 여러 클라이언트의 요청을 처리할 수 있는 구조로 설계되었습니다.

  3. 데이터 유효성 검사 및 종료

    클라이언트는 'q' 또는 'Q'를 입력하여 서버와의 연결을 종료할 수 있으며, 서버는 유효하지 않은 요청이나 입력에 대해 적절한 메시지를 반환합니다.

4️⃣개발 과정

  1. 개발 환경 구축
  2. TCP 서버-클라이언트 기본 구조 구현
  3. 가수와 노래 데이터 처리 로직 구현
  4. 서버-클라이언트 간 데이터 송수신 테스트

5️⃣프로젝트 리뷰