Display parsed response

This commit is contained in:
clerie 2024-08-24 13:15:56 +02:00
parent f3d4c79c0f
commit c613f7bc48

View File

@ -1,4 +1,6 @@
use dhcproto::{ use dhcproto::{
Decodable,
Decoder,
Encodable, Encodable,
Encoder, Encoder,
v6::{ v6::{
@ -21,7 +23,7 @@ const DHCP_Relay_Agent_and_Server_port: u16 = 547;
#[tokio::main] #[tokio::main]
async fn main() { async fn main() {
let socket_addr = SocketAddrV6::new("::".parse().unwrap(), DHCP_Client_port, 0, scope_id); let socket_addr = SocketAddrV6::new("fe80::e3cf:4290:9165:505d".parse().unwrap(), DHCP_Client_port, 0, scope_id);
let sock = UdpSocket::bind(socket_addr).await.unwrap(); let sock = UdpSocket::bind(socket_addr).await.unwrap();
let remote_addr = SocketAddrV6::new(All_DHCP_Relay_Agents_and_Servers.parse().unwrap(), DHCP_Relay_Agent_and_Server_port, 0, scope_id); let remote_addr = SocketAddrV6::new(All_DHCP_Relay_Agents_and_Servers.parse().unwrap(), DHCP_Relay_Agent_and_Server_port, 0, scope_id);
@ -43,8 +45,10 @@ async fn main() {
sock.send_to(&msg_buf, remote_addr).await.unwrap(); sock.send_to(&msg_buf, remote_addr).await.unwrap();
let mut buf = [0; 1024]; let mut recv_buf = [0; 1024];
let (len, recv_addr) = sock.recv_from(&mut buf).await.unwrap(); let (len, recv_addr) = sock.recv_from(&mut recv_buf).await.unwrap();
println!("{:?} bytes received from {:?}", len, recv_addr); println!("{:?} bytes received from {:?}", len, recv_addr);
println!("{}", &buf[..len].escape_ascii().to_string()); println!("{}", &recv_buf[..len].escape_ascii().to_string());
let recv_msg = Message::decode(&mut Decoder::new(&recv_buf)).unwrap();
println!("{}", &recv_msg);
} }