A WebSocket server that runs in bevy.
- Add
bevy_websocketto yourCargo.toml - Add
bevy_websocket::WebSocketPluginto your bevyApp - Receive messages with
EventReader<WebSocketMessageEvent>or send any withResMut<WebSocketClients>
bevy_websocket is currently not available on crates.io. see why.
Add bevy_websocket with following line to your Cargo dependencies.
bevy_websocket = { git = "https://github.com/yuunalein/bevy_websocket.git", tag = "v0.2.1" }Run the messenger example to see the crate in action.
cargo run --example messengerOr implement this code in your project.
use bevy::prelude::*;
use bevy_websocket::prelude::*;
fn main() {
App::new()
.add_plugins((MinimalPlugins, WebSocketPlugin))
.add_systems(Update, on_message)
.run();
}
fn on_message(
mut event: EventReader<WebSocketMessageEvent>,
mut clients: ResMut<WebSocketClients>,
) {
for message in event.read() {
println!("Received {}", message.data);
if message.data == "ping" {
message
.reply(&mut clients)
.unwrap()
.send_message("Pong!")
.unwrap();
}
}
}| bevy | bevy_websocket |
|---|---|
| 0.15 | 0.1, 0.2 |
This crate was made with ❤️