Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/bin/client.rs
This commit is contained in:
2022-11-17 12:24:18 +01:00
3 changed files with 111 additions and 6 deletions
+8 -5
View File
@@ -10,14 +10,17 @@ fn main() {
loop {
let mut buffer = String::new();
match std::io::stdin().read_line(&mut buffer){
Ok(_n) => {
match std::io::stdin().read_line(&mut buffer) {
Ok(n) => {
if n == 0 {
break;
}
println!("Sending {}", buffer);
stream.write(buffer.as_bytes()).unwrap();
println!("Sent {}, awaiting reply...", buffer);
}
Err(_error) =>{
println!("Fehlerhafte Eingabe!");
Err(error) => {
println!("error: {error}");
break;
}
}
@@ -28,4 +31,4 @@ fn main() {
}
}
println!("Terminated.");
} // the stream is closed here
} // the stream is closed here
+29 -1
View File
@@ -1,3 +1,31 @@
use std::{
io::{prelude::*, BufReader},
net::{TcpListener, TcpStream},
};
use std::io::Lines;
fn main() {
println! ("server");
let listener = TcpListener::bind("127.0.0.1:7878").unwrap();
for stream in listener.incoming() {
let stream = stream.unwrap();
handle_connection(stream);
}
}
fn handle_connection(mut stream: TcpStream) {
let mut stream2: TcpStream = stream.try_clone().unwrap();
let buf_reader: BufReader<&mut TcpStream> = BufReader::new(&mut stream);
let request: Lines<BufReader<&mut TcpStream>> = buf_reader.lines();
println!("Request: {:#?}", request);
for elem in request
{
let s = elem.unwrap();
println!("{:?}", s);
stream2.write(s.as_bytes()).unwrap();
stream2.write_all(b"\n").unwrap();
}
}