본문으로 건너뛰기
Unreal Engine 멀티플레이LESSON 29

LAN 테스트와 온라인 세션의 차이

난이도입문 → 초급
예상 시간75분
선수지식28강의 세션 Create·Find·Join 흐름

29강. LAN 테스트와 온라인 세션의 차이

1. 이번 강의에서 해결할 문제​

한 PC의 PIE나 같은 공유기 LAN에서 세션이 검색됐다고 인터넷 환경에서도 동작한다고 결론 내립니다. 온라인 서비스는 계정 인증, 서비스 플러그인, App ID, 방화벽·NAT, 초대·Presence 정책과 패키지 실행 환경이 추가되므로 LAN 성공은 세션 코드의 첫 단계일 뿐입니다.

2. 학습 목표​

3. 핵심 개념​

Null Subsystem은 로컬 개발에서 LAN 광고·검색 흐름을 연습하기 좋습니다. 플랫폼 Subsystem은 서비스 SDK와 계정, 고유 세션 정책을 사용하며 bIsLANMatch, Presence, Lobby 지원과 검색 Query가 다를 수 있습니다. 새 Online Services Sessions Interface는 Beta 상태나 API가 세부 버전에서 변할 수 있으므로 기존 IOnlineSession 예제와 선택을 명시합니다.

LAN Broadcast는 라우터를 넘어가지 않으며 회사·학교 Wi-Fi가 클라이언트 간 통신을 차단할 수 있습니다. 인터넷 접속은 전용 서비스의 Relay/P2P·서버 주소 처리와 방화벽 정책이 필요할 수 있습니다. 정적 Docusaurus 사이트나 이 과정은 어떤 계정·세션 서버도 제공하지 않습니다.

4. 단계별 실습​

Null 개발 설정 예시 · Config/DefaultEngine.ini

DefaultEngine.ini
[OnlineSubsystem]
DefaultPlatformService=Null

테스트 매트릭스

환경프로세스·PC계정검색 방식검증 목표
PIE Single ProcessEditor 1개없음PIE 내부빠른 UI·Delegate 회귀
별도 프로세스PC 1대, 실행 2개없음Null LANConnect String·Travel
두 PC LAN같은 네트워크없음LAN Broadcast방화벽·실제 주소
플랫폼 개발 환경별도 계정 2개필요 가능서비스 검색·Presence플러그인·인증·정책
배포 후보패키지 2개플랫폼 정책실제 서비스버전·방화벽·로그·종료

세션 로그에는 Subsystem 이름, bIsLANMatch, Build Unique ID, 검색 결과 수와 Join 결과 Enum을 남깁니다. 인증 토큰, 실제 계정 ID와 개인 정보를 로그·문서에 복사하지 않습니다.

SessionDiagnostics.cpp
IOnlineSubsystem* Online = IOnlineSubsystem::Get();
UE_LOG(LogTemp, Display, TEXT("Subsystem=%s LAN=%d Results=%d"),
Online ? *Online->GetSubsystemName().ToString() : TEXT("None"),
SessionSearch.IsValid() && SessionSearch->bIsLanQuery,
SessionSearch.IsValid() ? SessionSearch->SearchResults.Num() : 0);

5. 코드가 동작하는 이유​

게임 세션 코드는 같은 Create·Find·Join 수명을 사용하지만 실제 구현은 선택한 Online Subsystem이 담당합니다. 진단 로그에 Subsystem과 환경을 넣으면 Null 설정으로 테스트하면서 온라인 서비스가 동작한다고 오해하는 일을 줄입니다. 두 계정·두 머신 검증은 플랫폼 서비스의 실제 경계를 확인합니다.

6. 자주 하는 실수와 해결법​

7. 직접 실습​

8. 이해 점검 질문 3개​

9. 핵심 요약​

MINI QUIZ

LAN 테스트와 온라인 세션의 차이 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“LAN 테스트와 온라인 세션의 차이”의 위험한 선택을 피하려면 어떤 원칙을 적용해야 하나요?
  2. 문제 2“LAN 테스트와 온라인 세션의 차이”에서 ‘같은 플랫폼 계정으로 두 클라이언트 실행’ 문제가 생겼습니다. 가장 알맞은 진단 또는 대응은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

29강. LAN 테스트와 온라인 세션의 차이 미완료 상태