use std::net::{TcpStream,TcpListener};
use std::io::{Read, Write};
pub struct Tcp {
ip: String,
port: String,
}
impl Tcp {
pub fn new(ip: String, port: String) -> Self {
Tcp { ip, port }
}
pub fn bind(&self) {
let listener = TcpListener::bind(
format!("{}:{}",
self.ip,self.port)).unwrap();
for socket in listener.incoming() {
self.listen_connections(socket.unwrap());
}
}
fn listen_connections(&self,mut socket: TcpStream) {
loop {
let mut buffer = [0; 1024];
match socket.read(&mut buffer) {
Ok(n) => {
if n == 0 {
break;
}
}
Err(error) => {
println!("Error reading data: {:?}", error);
break;
}
}
}
}
}
#[cfg(test)]
mod tests {
use super::*;
}