You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

server.rs 791B

12345678910111213141516171819202122232425262728293031
  1. use std::{
  2. io::{prelude::*, BufReader},
  3. net::{TcpListener, TcpStream},
  4. };
  5. use std::io::Lines;
  6. fn main() {
  7. let listener = TcpListener::bind("127.0.0.1:7878").unwrap();
  8. for stream in listener.incoming() {
  9. let stream = stream.unwrap();
  10. handle_connection(stream);
  11. }
  12. }
  13. fn handle_connection(mut stream: TcpStream) {
  14. let mut stream2: TcpStream = stream.try_clone().unwrap();
  15. let buf_reader: BufReader<&mut TcpStream> = BufReader::new(&mut stream);
  16. let request: Lines<BufReader<&mut TcpStream>> = buf_reader.lines();
  17. println!("Request: {:#?}", request);
  18. for elem in request
  19. {
  20. let s = elem.unwrap();
  21. println!("{:?}", s);
  22. stream2.write(s.as_bytes()).unwrap();
  23. stream2.write_all(b"\n").unwrap();
  24. }
  25. }