App with 2 listeners do not respond #2648
Answered
by
jplatte
HosMercury
asked this question in
Q&A
-
SummaryThis is let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
axum::serve(listener, app).await.unwrap();
let listener2 = tokio::net::TcpListener::bind("0.0.0.0:4000").await.unwrap();
axum::serve(listener2, api_app).await.unwrap(); This router does not respond let api_app = Router::new()
.nest("/api", api::main::router())
.layer(session_layer.clone())
.with_state(state.clone());
pub fn router() -> Router<AppState> {
Router::new()
.route("/", get(self::get::main))
.route("/test", get(self::get::test))
} #[axum::debug_handler]
pub async fn test() -> &'static str {
"hello Api"
} No errs but server not respond axum version0.7.4 |
Beta Was this translation helpful? Give feedback.
Answered by
jplatte
Mar 14, 2024
Replies: 1 comment 1 reply
-
The |
Beta Was this translation helpful? Give feedback.
1 reply
Answer selected by
jplatte
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The
await
onaxum::serve
never returns except in the case of shutdown. You need to spawn separate async tasks (seetokio::spawn
) for serving both routers concurrently.