| Crates.io | socketio-rust-emitter |
| lib.rs | socketio-rust-emitter |
| version | 0.1.2 |
| created_at | 2019-05-23 16:52:32.814967+00 |
| updated_at | 2019-05-23 17:13:02.371576+00 |
| description | A Rust implementation of socketio-emitter |
| homepage | https://github.com/epli2/socketio-rust-emitter |
| repository | https://github.com/epli2/socketio-rust-emitter |
| max_upload_size | |
| id | 136459 |
| size | 7,341 |
A Rust implementation of socket.io-emitter.
use chrono::Utc;
use std::thread;
use std::time::Duration;
let io = Emitter::new("127.0.0.1");
let _ = thread::spawn(move || loop {
thread::sleep(Duration::from_millis(5000));
io.clone().emit(vec!["time", &format!("{}", Utc::now())]);
}).join();
// Different constructor options.
//1. Initialize with host:port string
let io = Emitter::new("localhost:6379")
// 2. Initlize with host, port object.
let io = Emitter::new(EmitterOpts {
host: "localhost".to_owned(),
port: 6379,
..Default::default()
});
let io = Emitter::new(EmitterOpts { host: "127.0.0.1".to_owned(), port: 6379, ..Default::default() });
// sending to all clients
io.clone().emit(vec!["broadcast", /* ... */]);
// sending to all clients in "game" room
io.clone().to("game").emit(vec!["new-game", /* ... */]);
// sending to individual socketid (private message)
io.clone().to(<socketid>).emit(vec!["private", /* ... */]);
let nsp = io.clone().of("/admin");
// sending to all clients in "admin" namespace
nsp.clone().emit(vec!["namespace", /* ... */]);
// sending to all clients in "admin" namespace and in "notifications" room
nsp.clone().to("notifications").emit(vec!["namespace", /* ... */]);