I am trying to connect to a web socket on the server, to which the socket gives an error stating that it was failed to connect
rust code:
use axum::{extract::{ws::WebSocket, WebSocketUpgrade}, response::IntoResponse, routing::get, Router};
use tokio::net::TcpListener;
use tower_http::services::ServeDir;
#[tokio::main]
async fn main(){
let listener = TcpListener::bind("localhost:3000").await.unwrap();
axum::serve(listener, router()).await.unwrap();
}
fn router() -> Router{
Router::new()
.route("/message_list", get(hello_world))
.nest_service("/", ServeDir::new("static"))
}
async fn hello_world(ws: WebSocketUpgrade) -> impl IntoResponse{
let _res =ws.on_upgrade(|ws| socet_handler(ws));
}
async fn socet_handler(mut ws: WebSocket){
println!("IT READY!");
let _res =
ws.send(axum::extract::ws::Message::Text('hi'.to_string()));
}
js code:
let socket = new WebSocket("ws://localhost:3000/message_list")
i try to change ‘ws’ to ‘wss’ on path but it doesnt help.
there is a constant error on the site: WebSocket connection to ‘ws://localhost:3000/message_list’ failed:
what could this be related to?