bevy_networking_turbulence
v0.4.1
在 naia-socket 和 turbulence 库上运行的 Bevy 引擎的网络插件。
naia-socket和turbulence的组合允许通过 UDP 或类 UDP 连接(通过 WebRTC)交换原始消息,或者通过此类 UDP/类 UDP 消息构建不可靠/可靠的结构化消息通道。
该插件既可以在本机(Linux、Windows、MacOS)中通过 UDP 数据包运行,也可以在浏览器/WASM 中通过 WebRTC 通道中的类似 UDP 消息运行。
尚未完成,但主要功能正在运行。有关详细信息,请参阅里程碑。
在一个终端上运行:
$ env RUST_LOG=debug cargo run --example simple -- --server
在其他终端上运行:
$ env RUST_LOG=debug cargo run --example simple -- --client
观察服务器和客户端之间的PING
/ PONG
交换。您可以在更多终端中运行更多客户端。
在一个终端上运行:
$ env RUST_LOG=debug cargo run --example simple --no-default-features --features use-webrtc -- --server
将examples/simple.rs
/ startup()
函数中的IP地址更改为指向您的本地计算机,然后运行:
$ cargo build --example simple --target wasm32-unknown-unknown --no-default-features --features use-webrtc
$ wasm-bindgen --out-dir target --target web target/wasm32-unknown-unknown/debug/examples/simple.wasm
通过 HTTP 提供项目目录。例如( cargo install basic-http-server
):
$ basic-http-server .
打开 http://127.0.0.1:4000 并在开发者工具中观察浏览器的控制台。您将看到与本机模式中相同的PING
/ PONG
交换。
在一个终端上运行:
$ env RUST_LOG=debug cargo run --example channels --features use-udp,bevy/default -- --server
在第二个终端运行:
$ env RUST_LOG=warn cargo run --example channels --features use-udp,bevy/default -- --client
在第三个(和第四个,以及更多...)终端运行:
$ env RUST_LOG=warn cargo run --example channels --features use-udp,bevy/default -- --client
您可以聚焦任何客户端窗口并使用Arrow-Left
/ Arrow-Right
光标键来更改“球”轨迹。观察您的控制球与所有其他客户端同步。
由于需要额外的依赖项,我们决定将基于浏览器的图形通道示例保留在单独的存储库中。请参阅 https://github.com/ostwilkens/arugio 项目。它是从简单的方球示例演变而来的,可以作为游戏的基础。