[−][src]Struct splinter::transport::ws::WsTransport
A WebSocket-based Transport
.
Supports endpoints of the format ws://ip_or_host:port
.
Examples
To connect to the a remote endpoint, send a message, and receive a reply message:
use splinter::transport::Transport as _; use splinter::transport::ws::WsTransport; fn main() -> Result<(), Box<dyn std::error::Error>> { let mut transport = WsTransport::default(); // Connect to a remote endpoint starting wtih `ws://`. let mut connection = transport.connect("ws://127.0.0.1:5555")?; // Send some bytes connection.send(b"hello world")?; // Receive a response let msg = connection.recv()?; // Disconnect connection.disconnect()?; Ok(()) }
To accept a connection, receive, and send a reply:
use splinter::transport::Transport as _; use splinter::transport::ws::WsTransport; fn main() -> Result<(), Box<dyn std::error::Error>> { let mut transport = WsTransport::default(); // Create a listener, which will bind to the port let mut listener = transport.listen("ws://127.0.0.1:5555")?; // When the other side connects, accept will return a `Connection` let mut connection = listener.accept()?; // Receive a message let msg = connection.recv()?; // Send a response connection.send(b"hello world")?; // Disconnect connection.disconnect()?; Ok(()) }
Trait Implementations
impl Default for WsTransport
[src]
fn default() -> WsTransport
[src]
impl Transport for WsTransport
[src]
Auto Trait Implementations
impl RefUnwindSafe for WsTransport
impl Send for WsTransport
impl Sync for WsTransport
impl Unpin for WsTransport
impl UnwindSafe for WsTransport
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<P, N> IntoBytes<P> for N where
P: Message + FromNative<N>,
[src]
P: Message + FromNative<N>,
fn into_bytes(Self) -> Result<Vec<u8>, ProtoConversionError>
[src]
impl<N, P> IntoNative<N> for P where
N: FromProto<P>,
[src]
N: FromProto<P>,
fn into_native(Self) -> Result<N, ProtoConversionError>
[src]
impl<N, P> IntoProto<P> for N where
P: FromNative<N>,
[src]
P: FromNative<N>,
fn into_proto(Self) -> Result<P, ProtoConversionError>
[src]
impl<T> IntoSql for T
fn into_sql<T>(self) -> Self::Expression where
Self: AsExpression<T>,
Self: AsExpression<T>,
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
&'a Self: AsExpression<T>,
&'a Self: AsExpression<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Typeable for T where
T: Any,
T: Any,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,