mirror of
https://github.com/valmojr/armatak.git
synced 2026-06-13 16:33:30 +00:00
24 lines
631 B
Rust
24 lines
631 B
Rust
use std::net::{IpAddr, UdpSocket};
|
|
|
|
pub fn get_local_address() -> String {
|
|
fn get_local_ip() -> Result<IpAddr, String> {
|
|
let socket = UdpSocket::bind("0.0.0.0:0").map_err(|e| e.to_string())?;
|
|
socket.connect("8.8.8.8:80").map_err(|e| e.to_string())?;
|
|
socket
|
|
.local_addr()
|
|
.map(|addr| addr.ip())
|
|
.map_err(|e| e.to_string())
|
|
}
|
|
|
|
let parsed_data = get_local_ip();
|
|
|
|
match parsed_data {
|
|
Ok(ip) => {
|
|
return format!("ws://{}:4152", ip.to_string());
|
|
}
|
|
Err(_) => {
|
|
return "not provided".to_string();
|
|
}
|
|
}
|
|
}
|