ws-rs
ws-rs copied to clipboard
Does "connect" not support ipv6?
// service
use ws::listen;
fn main() {
// error code
if let Err(err) = listen("[::]:3012", |out| {
// correct code
// if let Err(err) = listen("0.0.0.0:3012", |out| {
move |msg| {
println!("server receive: '{}'.", msg);
let new_msg = format!("you:{}!!", msg);
println!("server return message '{}'.", new_msg);
out.send(new_msg)
}
}) {
println!("Fail create WebSocket connection due to error: {:?}", err)
}
println!("service over")
}
// client
use ws::{connect, CloseCode};
fn main() {
// error code
if let Err(err) = connect("ws://[::1]:3012", |out| {
// correct code
// if let Err(err) = connect("ws://127.0.0.1:3012", |out| {
if out.send("Hello").is_err() {
println!("Failed");
} else {
println!("Client send Hello")
}
move |msg| {
println!("Client receive: '{}'.", msg);
out.close(CloseCode::Normal)
}
}) {
println!("Fail create WebSocket connection due to error: {:?}", err);
}
println!("client over");
}
Run error when url is "ws://[::1]:3012". Run correctly when url is "ws://127.0.0.1:3012".