Module actix_web::ws [−][src]
WebSocket support for Actix
To setup a WebSocket, first do web socket handshake then on success
convert Payload into a WsStream stream and then use WsWriter to
communicate with the peer.
Example
use actix_web::{ws, HttpRequest, HttpResponse}; // do websocket handshake and start actor fn ws_index(req: &HttpRequest) -> Result<HttpResponse> { ws::start(req, Ws) } struct Ws; impl Actor for Ws { type Context = ws::WebsocketContext<Self>; } // Handler for ws::Message messages 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), _ => (), } } }
Structs
| Client |
|
| ClientHandshake |
Future that implementes client websocket handshake process. |
| ClientReader |
Websocket reader client |
| ClientWriter |
Websocket writer client |
| CloseReason |
Reason for closing the connection |
| Frame |
A struct representing a |
| FramedMessage |
|
| WebsocketContext |
Execution context for |
| WsStream |
Maps |
Enums
| ClientError |
Websocket client error |
| CloseCode |
Status code used to indicate why an endpoint is closing the |
| HandshakeError |
Websocket handshake errors |
| Message |
|
| OpCode |
Operation codes as part of rfc6455. |
| ProtocolError |
Websocket protocol errors |
Traits
| WsWriter |
Common writing methods for a websocket. |
Functions
| handshake |
Prepare |
| start |
Do websocket handshake and start actor |