1. NetDriver란
NetDriver는 언리얼 엔진의 네트워크 통신을 담당하는 핵심 객체로,
서버와 클라이언트 사이의 연결(Connection) 을 관리한다.
각각의 서버와 클라이언트는 모두 자신의 NetDriver 객체를 가진다.
NetDriver 내부에는 다음과 같은 연결 정보가 있다.
NetDriver
- TObjectPtr<UNetConnection> ServerConnection
- TArray<TObjectPtr<UNetConnection>> ClientConnections
- ServerConnection
서버와 연결된 단일 연결 - ClientConnections
서버에 연결된 여러 클라이언트 목록
2. 서버의 NetDriver 구조
서버에서는 여러 클라이언트가 접속할 수 있기 때문에
클라이언트 연결 목록을 배열로 관리한다.
서버 NetDriver
- ServerConnection = nullptr
- ClientConnections = 접속한 클라이언트 수만큼 존재
정리하면
- 서버는 누군가에게 접속하는 구조가 아니기 때문에
ServerConnection은 존재하지 않는다. - 대신 접속해온 클라이언트들을 관리해야 하기 때문에
ClientConnections 배열에 연결이 저장된다.
예시
Server
├ NetDriver
│ ├ ServerConnection = nullptr
│ ├ ClientConnections[0] → Client A
│ ├ ClientConnections[1] → Client B
│ └ ClientConnections[2] → Client C
3. 클라이언트의 NetDriver 구조
클라이언트는 서버 하나에 접속하는 구조이기 때문에
연결 정보가 하나만 존재한다.
클라이언트 NetDriver
- ServerConnection != nullptr
- ClientConnections 비어있음
정리하면
- 클라이언트는 서버에 접속해야 하므로
ServerConnection이 존재한다. - 클라이언트는 다른 클라이언트를 관리하지 않기 때문에
ClientConnections 배열은 비어 있다.
예시
Client
├ NetDriver
│ ├ ServerConnection → Server
│ └ ClientConnections = Empty
4. 싱글플레이에서의 NetDriver
싱글플레이에서는 네트워크 통신이 필요 없기 때문에
NetDriver 객체 자체가 생성되지 않는다.
즉,
- 멀티플레이 → NetDriver 생성
- 싱글플레이 → NetDriver 없음
5. 추가로 공부할 내용 (프록시)
언리얼 네트워크에서는 Proxy 개념이 매우 중요하다.
- Autonomous Proxy
- Simulated Proxy
- Authority
현재 개념이 완전히 정리되지 않아
추가 학습 후 정리할 예정이다.
'내배캠 TIL' 카테고리의 다른 글
| [내배캠 TIL 260318] C++ 모의고사 (패턴 반복 & 최대값 판별) (0) | 2026.03.18 |
|---|---|
| [내배캠 TIL 260316] C++ 과일 장수 문제 (0) | 2026.03.16 |
| [내배캠 TIL 260310] Unreal Dedicated Server (0) | 2026.03.10 |
| [내배캠 TIL 260309] C++ 대칭 문자열 생성 (0) | 2026.03.09 |
| [내배캠 TIL 260305] CH.3 조별 과제 KPT회고 (0) | 2026.03.05 |