[−][src]Module actix_web::ws
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 |