use Ipv6Addr::from to build the IPv6 address

This commit is contained in:
Stefan Lankes 2020-06-15 08:53:58 +02:00
parent 9c9f21fb23
commit 6c983a7335
1 changed files with 2 additions and 24 deletions

View File

@ -148,18 +148,7 @@ impl TcpStream {
IpAddr::V4(Ipv4Addr::new(addr.0[0], addr.0[1], addr.0[2], addr.0[3])),
port,
),
Ipv6(ref addr) => SocketAddr::new(
IpAddr::V6(Ipv6Addr::new(
((addr.0[0] as u16) << 8) | addr.0[1] as u16,
((addr.0[2] as u16) << 8) | addr.0[3] as u16,
((addr.0[4] as u16) << 8) | addr.0[5] as u16,
((addr.0[6] as u16) << 8) | addr.0[7] as u16,
((addr.0[8] as u16) << 8) | addr.0[9] as u16,
((addr.0[10] as u16) << 8) | addr.0[11] as u16,
((addr.0[12] as u16) << 8) | addr.0[13] as u16,
((addr.0[14] as u16) << 8) | addr.0[15] as u16)),
port,
),
Ipv6(ref addr) => SocketAddr::new(IpAddr::V6(Ipv6Addr::from(addr.0)), port),
_ => {
return Err(io::Error::new(ErrorKind::Other, "peer_addr failed"));
},
@ -239,18 +228,7 @@ impl TcpListener {
IpAddr::V4(Ipv4Addr::new(addr.0[0], addr.0[1], addr.0[2], addr.0[3])),
port,
),
Ipv6(ref addr) => SocketAddr::new(
IpAddr::V6(Ipv6Addr::new(
((addr.0[0] as u16) << 8) | addr.0[1] as u16,
((addr.0[2] as u16) << 8) | addr.0[3] as u16,
((addr.0[4] as u16) << 8) | addr.0[5] as u16,
((addr.0[6] as u16) << 8) | addr.0[7] as u16,
((addr.0[8] as u16) << 8) | addr.0[9] as u16,
((addr.0[10] as u16) << 8) | addr.0[11] as u16,
((addr.0[12] as u16) << 8) | addr.0[13] as u16,
((addr.0[14] as u16) << 8) | addr.0[15] as u16)),
port,
),
Ipv6(ref addr) => SocketAddr::new(IpAddr::V6(Ipv6Addr::from(addr.0)), port),
_ => {
return Err(io::Error::new(ErrorKind::Other, "accept failed"));
},