Skip to content

서버 프로젝트 생성 + 기본 TCP 통신 #5

@sonoasy

Description

@sonoasy

목표

서버 ↔ 클라이언트 기본 TCP 연결 성공


✅ 체크리스트

1. 서버 프로젝트 생성

  • Visual Studio에서 콘솔 앱 (.NET 8.0) 생성
  • 프로젝트 이름: CrazyArcade.Server
  • 위치: Unity 프로젝트 폴더 밖

2. 공통 코드 공유 (Unity → Server)

서버 프로젝트에 링크로 추가:

  • GameState.cs
  • PlayerState.cs
  • WaterBalloonState.cs
  • MapState.cs
  • TileType.cs
  • Int2.cs

방법: 서버 프로젝트 우클릭 → 추가 → 기존 항목 → Unity 파일 선택 → 추가 버튼 옆 ▼ → 링크로 추가

3. TCP 서버 구현

  • Program.cs에 TCP 서버 코드 작성
  • 포트 12345로 대기
  • 클라이언트 접속 시 "Hello from Server!" 전송
  • Console 로그 출력

4. Unity 클라이언트 구현

  • Assets/Scripts/Network/NetworkClient.cs 생성
  • 서버 연결 (127.0.0.1:12345)
  • 서버 메시지 받아서 Debug.Log() 출력
  • GameObject에 컴포넌트 추가

5. 연결 테스트

  • 서버 실행 (Visual Studio F5)
  • Unity 플레이 모드 실행
  • 서버 콘솔: "클라이언트 접속!" 확인
  • Unity Console: "서버 연결 성공!" 확인
  • Unity Console: "서버에서 받음: Hello from Server!" 확인

📂 예상 프로젝트 구조

CrazyArcade/
├── CrazyArcade.Client/          (Unity)
│   └── Assets/
│       └── Scripts/
│           ├── GameCore/        (공통 코드)
│           │   ├── GameState.cs
│           │   ├── PlayerState.cs
│           │   └── ...
│           └── Network/         (신규)
│               └── NetworkClient.cs
│
└── CrazyArcade.Server/          (C# 콘솔)
    ├── GameCore/                (링크 파일)
    │   ├── GameState.cs → (Unity에서 링크)
    │   └── ...
    └── Program.cs

🎯 완료 조건

  • 서버와 클라이언트가 TCP로 연결됨
  • 양방향 메시지 전송 확인
  • 다음 단계(이동 동기화) 준비 완료

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions