对于面向 x64 的项目
Install-Package Spitfirex64
对于面向 x86 的项目
Install-Package Spitfirex86
安装实用程序
Install-Package SpitfireUtils
Spitfire 是 WebRTC 本机代码的包装器,允许 .NET 应用程序利用数据通道。其目标是让人们能够构建出色的 P2P 应用程序,并让以类似服务器的方式更轻松地使用 WebRTC。
WebRTC 数据通道允许您通过活动连接向对等方发送文本或二进制数据。在游戏中,这可以让玩家互相发送数据,无论是文本聊天还是游戏状态信息。数据通道有两种类型。
可靠的通道保证您发送的消息到达另一个对等方,并且按照发送的顺序相同。这类似于 TCP 套接字。
不可靠的渠道不提供此类保证;不保证消息按任何特定顺序到达,事实上,根本不保证到达。这类似于 UDP 套接字。
要快速了解 UDP 和 TCP 之间的差异,请查看此处
该库目前不支持音频和视频,但是如果有足够的需求,我们可能会考虑添加它。为了确保此代码在所有环境中运行,我们在初始化期间实现了假音频/视频设备。
数据通道仅支持发送微小的数据片段,虽然可以通过它发送完整的文件,但必须首先对它们进行分块。我们提供了一些函数,使您可以快速完成此操作,而无需在DataChannelUtils
中进行不必要的复制。建议您对所有大于 10KB 的消息进行分块,以避免达到 16KB 的限制。
信令是协调通信的过程。为了让 WebRTC 应用程序建立数据通道,其客户端需要交换信息。 Spitfire 目前不提供信令服务器,但这不是一个复杂的过程,您可以在此处找到更多信息。
如果您希望最大限度地提高应用程序的速度,我们建议将 Spitfire 与我们的快速网络消息传递框架 Sachiel 配对。
如果您希望贡献文档、代码示例或修复程序,我们非常乐意接受拉取请求。
要构建 C++,您可以在此处的发布页面上找到预编译的 WebRTC 库。构建 WebRTC 本身可能非常令人头疼,因此我们也提供了位于此处的脚本。