네트워킹은 광대하고 복잡한 주제입니다. Unity에서 네트워크 기능을 생성하는 것은 아주 간단합니다. 하지만 네트워크 게임 제작과 관련한 모든 사항을 폭넓고 깊게 이해하는 것이 좋습니다. 이 섹션에서는 네트워킹의 기본과 Unity만의 네트워킹 구현 방식에 대해 설명합니다. 네트워킹을 처음 다루는 분이라면 네트워크 게임을 제작하기 전에 이 가이드를 자세하게 읽어보는 것을 적극 권장합니다.
네트워킹 전반에 대한 지식을 처음 접하거나 지식을 상기하고 싶은 경우 고수준 개요 페이지를 참조하십시오. 여기에서 이어지는 Unity 네트워킹 요소 페이지에서는 Unity만의 일반적인 네트워킹 구현 방식에 대해 설명합니다.
Unity는 네트워크에서 데이터를 공유하는 데 Network View 컴포넌트를 많이 활용하기 때문에 작동 방식을 이해하는 것이 매우 중요합니다. 네트워크 뷰가 제공하는 함수 중 하나로, 원격 프로시저 호출, 또는 RPC가 있습니다. 이를 통해 클라이언트이거나 서버인 하나 이상의 원격 장치에서 함수를 호출할 수 있습니다.
네트워크로 연결된 컴퓨터 간의 정보 유지 관리는 상태 동기화를 통해 이루어지는데, 이는 네트워크에서 실행되는 두 개 이상의 게임 인스턴스 간 특정 데이터 집합을 주기적으로 업데이트하는 메서드입니다. 다른 주제로는 공유 환경에서 어떤 컴퓨터가 어떤 오브젝트를 소유 또는 제어하는지 지정하는 것이 있는데, 이는 네트워크 인스턴스화를 활용하면 되지만 보다 확실하게 제어하려면 다른 방법을 사용할 수도 있습니다.
컴퓨터 탐색은 누군가가 서버 컴퓨터를 설정한 후 직접 다른 플레이어가 참여할 수 있도록 초대하는 것을 의미합니다. 게임에는 익명으로 참여하거나 다수가 동시에 참여할 수 있어야 하지만, 마스터 서버는 게임 세션을 홍보하고 사람들이 참여할 수 장소의 역할을 수행합니다. 마스터 서버는 NAT 펀치스루 라는 기술을 사용하여 플레이어가 방화벽이 작동 중인 경우에도 항상 연결할 수 있도록 지원합니다.
컴퓨터 간에 전송되는 데이터 양을 줄이면 성능이 개선되는 경향이 있습니다. 이러한 최적화를 수행하는 방법은 대역폭 최소화 페이지를 참조하십시오.
모바일 디바이스에서 Unity 네트워킹 API는 데스크톱 컴퓨터와 거의 동일하므로 네트워크 게임은 거의 수정하지 않고도 작동하는 경우가 많습니다. 모바일 네트워킹 페이지에서는 모바일 디바이스에서 발생할 수 있는 문제나 성능에 대한 고려 사항을 설명합니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.