Guest User

server

a guest
Jul 12th, 2024
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. use std::net::TcpListener;
  2. use std::io::{Read, Write};
  3. use std::thread;
  4.  
  5. fn main() {
  6. let args: Vec<String> = std::env::args().collect();
  7. let port = &args[1];
  8. let server_name = &args[2];
  9.  
  10. let addr = format!("127.0.0.1:{}", port);
  11. let listener = TcpListener::bind(&addr).unwrap();
  12. println!("{} listening on {}", server_name, addr);
  13.  
  14. for stream in listener.incoming() {
  15. let stream = stream.unwrap();
  16. let server_name = server_name.clone();
  17.  
  18. thread::spawn(move || {
  19. handle_connection(stream, &server_name);
  20. });
  21. }
  22. }
  23.  
  24. fn handle_connection(mut stream: std::net::TcpStream, server_name: &str) {
  25. let mut buffer = [0; 1024];
  26. stream.read(&mut buffer).unwrap();
  27.  
  28. let response = format!(
  29. "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\nHello from {}",
  30. server_name
  31. );
  32.  
  33. stream.write(response.as_bytes()).unwrap();
  34. stream.flush().unwrap();
  35. }
Add Comment
Please, Sign In to add comment