From 5569c67ba484374e77b3362f243ebe2cbcf508a9 Mon Sep 17 00:00:00 2001 From: lubeilin <1791778603@qq.com> Date: Sun, 24 Mar 2024 21:50:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vnt/src/handle/recv_data/server.rs | 19 +++++++++---------- vnt/src/handle/recv_data/turn.rs | 7 +------ 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/vnt/src/handle/recv_data/server.rs b/vnt/src/handle/recv_data/server.rs index f17187c..bdb335a 100644 --- a/vnt/src/handle/recv_data/server.rs +++ b/vnt/src/handle/recv_data/server.rs @@ -320,26 +320,22 @@ impl ServerPacketHandler { self.set_device_info_list(response.device_info_list, response.epoch as _); } } - service_packet::Protocol::RegistrationRequest => { - //不处理注册包 - } - service_packet::Protocol::PollDeviceList => {} service_packet::Protocol::PushDeviceList => { let response = DeviceList::parse_from_bytes(net_packet.payload()).map_err(|e| { io::Error::new(io::ErrorKind::Other, format!("PushDeviceList {:?}", e)) })?; self.set_device_info_list(response.device_info_list, response.epoch as _); } - service_packet::Protocol::HandshakeRequest => {} - service_packet::Protocol::HandshakeResponse => {} - service_packet::Protocol::SecretHandshakeRequest => {} service_packet::Protocol::SecretHandshakeResponse => { log::info!("SecretHandshakeResponse"); //加密握手结束,发送注册数据 self.register(current_device, context)?; } - service_packet::Protocol::Unknown(e) => { - log::warn!("service_packet::Protocol::Unknown = {}", e); + _ => { + log::warn!( + "service_packet::Protocol::Unknown = {:?}", + net_packet.head() + ); } } Ok(()) @@ -370,7 +366,10 @@ impl ServerPacketHandler { let device_id = self.config_info.device_id.clone(); let name = self.config_info.name.clone(); let client_secret = self.config_info.client_secret; - let ip = self.config_info.ip; + let mut ip = self.config_info.ip; + if ip.is_none() { + ip = Some(current_device.virtual_ip) + } let response = registrar::registration_request_packet( &self.server_cipher, token, diff --git a/vnt/src/handle/recv_data/turn.rs b/vnt/src/handle/recv_data/turn.rs index b0ecbb5..92036b5 100644 --- a/vnt/src/handle/recv_data/turn.rs +++ b/vnt/src/handle/recv_data/turn.rs @@ -29,12 +29,7 @@ impl PacketHandler for TurnPacketHandler { if let Some(route) = context.route_table.route_one(&destination) { if route.addr == route_key.addr { //防止环路 - log::warn!( - "来源和目标相同 {:?},{},{}", - route_key, - net_packet.source(), - net_packet.destination() - ); + log::warn!("来源和目标相同 {:?},{:?}", route_key, net_packet.head()); return Ok(()); } if route.metric <= ttl {