forked from n6cta/baecun
Send simple UDP stuff.
This commit is contained in:
19
src/main.rs
19
src/main.rs
@@ -1,6 +1,7 @@
|
||||
use clap::{Parser, ArgGroup};
|
||||
use std::io::{self, Read, Write};
|
||||
use std::net::{IpAddr, TcpStream};
|
||||
use std::net::UdpSocket;
|
||||
|
||||
/// Validate IP address.
|
||||
fn validate_ip(ip: &str) -> Result<IpAddr, String> {
|
||||
@@ -108,8 +109,21 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
};
|
||||
|
||||
// Send the frame.
|
||||
send_frame(&frame, &cli.ip.to_string(), cli.port)?;
|
||||
//send_frame(&frame, &cli.ip.to_string(), cli.port)?;
|
||||
//Ok(())
|
||||
|
||||
// Bind a UDP socket to an address; here, "0.0.0.0:0" finds a free port automatically
|
||||
let socket = UdpSocket::bind("0.0.0.0:0")?;
|
||||
|
||||
// Define the target address and port
|
||||
let target_address = "report.pskreporter.info:14739";
|
||||
|
||||
// Send the message
|
||||
socket.send_to(&frame, target_address)?;
|
||||
println!("Message sent successfully.");
|
||||
Ok(())
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// Build 'M' frame (unproto without digipeaters).
|
||||
@@ -174,4 +188,5 @@ fn send_frame(frame: &[u8], host: &str, port: u16) -> io::Result<()> {
|
||||
let mut stream = TcpStream::connect(addr)?;
|
||||
stream.write_all(frame)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user