diff --git a/ostp-client/src/transport/xhttp.rs b/ostp-client/src/transport/xhttp.rs index 6aa766d..4ede3df 100644 --- a/ostp-client/src/transport/xhttp.rs +++ b/ostp-client/src/transport/xhttp.rs @@ -180,8 +180,8 @@ where R: tokio::io::AsyncRead + Unpin + Send + 'static, W: tokio::io::AsyncWrite + Unpin + Send + 'static, { - let (app_tx, mut tx_rx) = mpsc::channel::(1024); - let (rx_tx, app_rx) = mpsc::channel::(1024); + let (app_tx, mut tx_rx) = mpsc::channel::(16384); + let (rx_tx, app_rx) = mpsc::channel::(16384); // TX Loop (App -> UoT -> Network): prefix each frame with u16 BE length tokio::spawn(async move { diff --git a/ostp-server/src/relay.rs b/ostp-server/src/relay.rs index d2b2d34..11fb81c 100644 --- a/ostp-server/src/relay.rs +++ b/ostp-server/src/relay.rs @@ -133,7 +133,7 @@ pub async fn handle_relay_message( if debug { let _ = ui_event_tx.send(UiEvent::Log(format!("Relay UDP ASSOCIATE stream_id={stream_id}"))); } - let server_udp = match UdpSocket::bind("0.0.0.0:0").await { + let server_udp = match UdpSocket::bind("[::]:0").await.or_else(|_| UdpSocket::bind("0.0.0.0:0").await) { Ok(s) => std::sync::Arc::new(s), Err(e) => { let _ = ui_event_tx.send(UiEvent::Log(format!("UDP bind failed: {e}"))); diff --git a/ostp-server/src/transport/uot.rs b/ostp-server/src/transport/uot.rs index ac00bcb..2ecb9ae 100644 --- a/ostp-server/src/transport/uot.rs +++ b/ostp-server/src/transport/uot.rs @@ -116,7 +116,7 @@ where info!("UoT client authenticated from {}", peer_addr); // Register this connection in the map - let (tx, mut rx) = mpsc::channel::(1024); + let (tx, mut rx) = mpsc::channel::(16384); { tcp_map.write().await.insert(peer_addr, tx); }