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 |