x64를 대상으로 하는 프로젝트의 경우
Install-Package Spitfirex64
x86을 대상으로 하는 프로젝트의 경우
Install-Package Spitfirex86
유틸리티를 설치하려면
Install-Package SpitfireUtils
Spitfire는 .NET 애플리케이션이 데이터 채널을 활용할 수 있도록 하는 WebRTC 네이티브 코드를 둘러싼 래퍼입니다. 이것의 목표는 사람들이 멋진 P2P 애플리케이션을 구축하고 서버와 같은 방식으로 WebRTC를 더 쉽게 사용할 수 있도록 하는 것입니다.
WebRTC 데이터 채널을 사용하면 활성 연결을 통해 피어에 대한 텍스트 또는 바이너리 데이터를 보낼 수 있습니다. 게임의 맥락에서 이를 통해 플레이어는 문자 채팅이든 게임 상태 정보이든 간에 데이터를 서로에게 보낼 수 있습니다. 데이터 채널에는 두 가지 형태가 있습니다.
신뢰할 수 있는 채널은 귀하가 보내는 메시지가 전송된 순서와 동일한 순서로 다른 피어에 도착하도록 보장합니다. 이는 TCP 소켓과 유사합니다.
신뢰할 수 없는 채널은 그러한 보장을 하지 않습니다. 메시지는 특정 순서로 도착한다는 보장이 없으며 실제로 도착한다는 보장도 없습니다. 이는 UDP 소켓과 유사합니다.
UDP와 TCP의 차이점을 빠르게 알아보려면 여기를 참조하세요.
이 라이브러리는 현재 오디오 및 비디오를 지원하지 않지만 수요가 충분할 경우 추가를 고려할 수 있습니다. 이 코드가 모든 환경에서 실행되도록 하기 위해 초기화 중에 가짜 오디오/비디오 장치를 구현합니다.
데이터 채널은 작은 데이터 조각 전송만 지원하며, 이를 통해 전체 파일을 보낼 수 있지만 먼저 청크를 나누어야 합니다. DataChannelUtils
에서는 불필요한 복사 없이 이 작업을 신속하게 수행할 수 있는 몇 가지 기능을 제공합니다. 16KB 제한에 도달하지 않도록 10KB보다 큰 모든 메시지를 청크하는 것이 좋습니다.
신호는 의사소통을 조정하는 과정이다. WebRTC 애플리케이션이 데이터 채널을 설정하려면 클라이언트가 정보를 교환해야 합니다. Spitfire는 현재 신호 서버를 제공하지 않지만 이는 복잡한 프로세스가 아니며 여기에서 자세한 정보를 찾을 수 있습니다.
애플리케이션의 속도를 최대화하려는 경우 Spitfire를 빠른 네트워크 메시징 프레임워크인 Sachiel과 페어링하는 것이 좋습니다.
문서, 코드 예제 또는 수정 사항을 제공하고 싶다면 끌어오기 요청을 기꺼이 받아들입니다.
C++를 빌드하려면 여기 릴리스 페이지에서 미리 컴파일된 WebRTC 라이브러리를 찾을 수 있습니다. WebRTC 자체를 구축하는 것은 상당히 골치 아픈 일이므로 여기에 해당 스크립트를 제공합니다.