수천 명의 플레이어가 동시에 사용할 수 있는 P2P 네트워킹 라이브러리입니다.
NetworkClient/NetworkServer
-> NetworkProtocol
-> NetworkSocket
-> NetworkThread
-> NetworkChannel
-> NetworkPacket
->NetworkMessage
NetworkChannel은 생성될 수 있는 메시지 유형을 정의합니다. NetworkMessage 파생 클래스는 패킷 버퍼에 대한 직렬화를 수행합니다. 메시지를 생성하고 메시지 변수를 구성한 다음 ReliableMessage, 메시지 또는 응답을 보냅니다. ReliableMessage는 대상 엔드포인트로부터 응답 유형 메시지를 예상합니다. 메시지와 응답은 신뢰할 수 없는 메시지입니다.
향후 NetworkPeer 및 NetworkPeerGroup에서는 가능한 경우 메시지를 단일 패킷으로 쌓을 수 있습니다.
NetworkMessage 헤더는 ChannelType(최대 16개 채널, 4비트), SendType(메시지/응답 1비트), Reliable(예/아니요 1비트), Redirect(1비트 + 사용자 ID용 2바이트), 메시지 소유자 ID에 대해 5바이트를 인코딩합니다. (2바이트), 메시지 시퀀스(2바이트).
현재 이벤트 시스템에서는 NetworkMessage가 수신될 때 NetworkChannelEvents OnMessage 및 OnResponse에 연결할 수 있습니다. 추가 사용자 정의를 위해 낮은 수준의 NetworkSocket 이벤트 OnSend 및 OnReceive도 있습니다.
보내기, 받기, 받기 처리는 메인 스레드 위에 있는 3개의 하위 스레드입니다.
신뢰할 수 있는 메시지와 신뢰할 수 없는 메시지를 보내고, 위치 기반 토폴로지를 통해 사용자를 연결할 수 있는 P2P 시스템을 구축합니다. 최종 목표는 단일 서버에서 1,000명 이상의 실시간 플레이어를 지원하는 것입니다.