1use std::net::{TcpStream,TcpListener};
2use std::io::{Read, Write};
3
4pub struct Tcp {
5 ip: String,
6 port: String,
7}
8
9impl Tcp {
10 pub fn new(ip: String, port: String) -> Self {
11 Tcp { ip, port }
12 }
13
14 pub fn bind(&self) {
15 let listener = TcpListener::bind(
16 format!("{}:{}",
17 self.ip,self.port)).unwrap();
18
19 for socket in listener.incoming() {
20 self.listen_connections(socket.unwrap());
21 }
22 }
23
24 fn listen_connections(&self,mut socket: TcpStream) {
25 loop {
26 let mut buffer = [0; 1024];
27 match socket.read(&mut buffer) {
28 Ok(n) => {
29 if n == 0 {
30 break;
31 }
32 }
33 Err(error) => {
34 println!("Error reading data: {:?}", error);
35 break;
36 }
37 }
38 }
39 }
40
41}
42
43
44
45
46#[cfg(test)]
47mod tests {
48 use super::*;
49}