make dyn-ip server configurable

This commit is contained in:
2023-02-15 13:41:37 +01:00
parent 5b3c13e86d
commit 4e7fb3b444
4 changed files with 44 additions and 27 deletions

View File

@@ -1,3 +1,5 @@
use std::net::SocketAddr;
use anyhow::bail;
use bytemuck::{Pod, Zeroable};
use tokio::{
@@ -156,7 +158,12 @@ impl Packet {
}
}
pub async fn dyn_ip_update(number: u32, pin: u16, port: u16) -> anyhow::Result<std::net::Ipv4Addr> {
pub async fn dyn_ip_update(
server: &SocketAddr,
number: u32,
pin: u16,
port: u16,
) -> anyhow::Result<std::net::Ipv4Addr> {
println!("dyn ip update: number={number} port={port}...");
let mut packet = Packet::default();
@@ -171,7 +178,7 @@ pub async fn dyn_ip_update(number: u32, pin: u16, port: u16) -> anyhow::Result<s
packet.data.extend_from_slice(&pin.to_le_bytes());
packet.data.extend_from_slice(&port.to_le_bytes());
let mut socket = tokio::net::TcpStream::connect(("127.0.0.1", 11811)).await?;
let mut socket = tokio::net::TcpStream::connect(server).await?;
let (mut reader, mut writer) = socket.split();