#![feature(slicing_syntax)]
use std::io::net::udp::UdpSocket;
use std::io::net::ip::SocketAddr;
use std::str;
fn main() {
let mut socket_orig = UdpSocket::bind(SocketAddr {
ip: from_str("127.0.0.1").unwrap(),
port: 1234,
}).unwrap();
let mut buf = [0, ..1024];
loop {
match socket_orig.recv_from(buf) {
Ok((len, src)) => {
let mut socket = socket_orig.clone();
spawn(proc() {
let data = buf[..len];
// println!("Received {} from {}", data, src);
socket.send_to(data, src).unwrap();
});
},
Err(err) => {
panic!(err);
}
}
}
}