Very primitive UDP receive
							parent
							
								
									a8caae68c3
								
							
						
					
					
						commit
						6bb2678eb5
					
				|  | @ -69,6 +69,21 @@ async fn handle_udp_send () -> Response <Body> | |||
| 	status_reply (StatusCode::OK, "ok\n") | ||||
| } | ||||
| 
 | ||||
| async fn handle_udp_recv () -> Response <Body> | ||||
| { | ||||
| 	use tokio::net::UdpSocket; | ||||
| 	
 | ||||
| 	let mut sock = UdpSocket::bind (SocketAddr::from (([0,0,0,0], 4001))).await.unwrap (); | ||||
| 	
 | ||||
| 	let mut buffer = vec! [0u8; 4096]; | ||||
| 	
 | ||||
| 	let (bytes_received, _addr) = sock.recv_from (&mut buffer [..]).await.unwrap (); | ||||
| 	
 | ||||
| 	buffer.truncate (bytes_received); | ||||
| 	
 | ||||
| 	status_reply (StatusCode::OK, buffer) | ||||
| } | ||||
| 
 | ||||
| async fn handle_all (req: Request <Body>, state: Arc <ServerState>) 
 | ||||
| -> Result <Response <Body>, Infallible> | ||||
| { | ||||
|  | @ -84,6 +99,9 @@ async fn handle_all (req: Request <Body>, state: Arc <ServerState>) | |||
| 	else if uri == "/udp_send" { | ||||
| 		Ok (handle_udp_send ().await) | ||||
| 	} | ||||
| 	else if uri == "/udp_recv" { | ||||
| 		Ok (handle_udp_recv ().await) | ||||
| 	} | ||||
| 	else { | ||||
| 		Ok (status_reply (StatusCode::OK, "Hi\n")) | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 _
						_