mirror of
https://github.com/actix/actix-website
synced 2024-11-27 18:12:57 +01:00
Moves websocket example to crate.
This commit is contained in:
parent
769c9af8f9
commit
262f835485
@ -12,36 +12,7 @@ with an http actor.
|
||||
|
||||
The following is an example of a simple websocket echo server:
|
||||
|
||||
```rust
|
||||
use actix::*;
|
||||
use actix_web::*;
|
||||
|
||||
/// Define http actor
|
||||
struct Ws;
|
||||
|
||||
impl Actor for Ws {
|
||||
type Context = ws::WebsocketContext<Self>;
|
||||
}
|
||||
|
||||
/// Handler for ws::Message message
|
||||
impl StreamHandler<ws::Message, ws::ProtocolError> for Ws {
|
||||
|
||||
fn handle(&mut self, msg: ws::Message, ctx: &mut Self::Context) {
|
||||
match msg {
|
||||
ws::Message::Ping(msg) => ctx.pong(&msg),
|
||||
ws::Message::Text(text) => ctx.text(text),
|
||||
ws::Message::Binary(bin) => ctx.binary(bin),
|
||||
_ => (),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
App::new()
|
||||
.resource("/ws/", |r| r.f(|req| ws::start(req, Ws)))
|
||||
.finish();
|
||||
}
|
||||
```
|
||||
{{< include-example example="websockets" file="main.rs" section="websockets" >}}
|
||||
|
||||
> A simple websocket echo server example is available in the
|
||||
> [examples directory](https://github.com/actix/examples/tree/master/websocket/).
|
||||
|
@ -23,4 +23,5 @@ exclude = [
|
||||
"testing",
|
||||
"middleware",
|
||||
"static-files",
|
||||
"websockets",
|
||||
]
|
||||
|
9
examples/websockets/Cargo.toml
Normal file
9
examples/websockets/Cargo.toml
Normal file
@ -0,0 +1,9 @@
|
||||
[package]
|
||||
name = "websockets"
|
||||
version = "0.1.0"
|
||||
authors = ["Cameron Dershem <cameron@pinkhatbeard.com>"]
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
actix = "0.7"
|
||||
actix-web = "1.0"
|
29
examples/websockets/src/main.rs
Normal file
29
examples/websockets/src/main.rs
Normal file
@ -0,0 +1,29 @@
|
||||
// <websockets>
|
||||
// use actix::*;
|
||||
// use actix_web::*;
|
||||
|
||||
// /// Define http actor
|
||||
// struct Ws;
|
||||
|
||||
// impl Actor for Ws {
|
||||
// type Context = ws::WebsocketContext<Self>;
|
||||
// }
|
||||
|
||||
// /// Handler for ws::Message message
|
||||
// impl StreamHandler<ws::Message, ws::ProtocolError> for Ws {
|
||||
// fn handle(&mut self, msg: ws::Message, ctx: &mut Self::Context) {
|
||||
// match msg {
|
||||
// ws::Message::Ping(msg) => ctx.pong(&msg),
|
||||
// ws::Message::Text(text) => ctx.text(text),
|
||||
// ws::Message::Binary(bin) => ctx.binary(bin),
|
||||
// _ => (),
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// fn main() {
|
||||
// App::new()
|
||||
// .resource("/ws/", |r| r.f(|req| ws::start(req, Ws)))
|
||||
// .finish();
|
||||
// }
|
||||
// </websockets>
|
Loading…
Reference in New Issue
Block a user