parse sns, support domain

This commit is contained in:
asxalex 2024-07-14 20:59:47 +08:00
parent 6a5aba6ae5
commit 95a43c4651

View File

@ -6,7 +6,7 @@ mod utils;
use std::{sync::atomic::AtomicU8, time::Duration};
use std::net::SocketAddr;
use std::net::{SocketAddr, ToSocketAddrs};
pub use network::get_edge;
use network::{async_main, init_edge, NodeConfig};
@ -52,11 +52,18 @@ async fn parse_config(uuid: String, args: &CommandLine) -> Result<NodeConfig> {
}
// node_conf.allow_p2p = args.allow_p2p;
let Ok(nat1) = args.nat_server1.parse::<SocketAddr>() else {
return Err(SDLanError::NormalError("failed to parse nat server1"));
let Ok(addr1) = args.nat_server1.to_socket_addrs() else {
return Err(SDLanError::NormalError("nat_server1 format error"));
};
let Ok(nat2) = args.nat_server2.parse::<SocketAddr>() else {
return Err(SDLanError::NormalError("failed to parse nat server2"));
let Some(nat1) = addr1.into_iter().next() else {
return Err(SDLanError::NormalError("get nat_server1 failed"));
};
let Ok(addr2) = args.nat_server2.to_socket_addrs() else {
return Err(SDLanError::NormalError("nat_server2 format error"));
};
let Some(nat2) = addr2.into_iter().next() else {
return Err(SDLanError::NormalError("get nat_server2 failed"));
};
let sns: Vec<&str> = args.sn.split(",").collect();