1
0
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:
Cameron Dershem 2019-06-17 18:07:57 -04:00
parent 769c9af8f9
commit 262f835485
4 changed files with 40 additions and 30 deletions

View File

@ -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/).

View File

@ -23,4 +23,5 @@ exclude = [
"testing",
"middleware",
"static-files",
"websockets",
]

View 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"

View 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>