Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

main.rs 867B

1234567891011121314151617181920212223242526272829303132333435
  1. use std::net::{TcpStream, TcpListener};
  2. use std::io::prelude::*;
  3. use std::fs;
  4. fn main() {
  5. let listener = TcpListener::bind("127.0.0.1:26382").unwrap();
  6. for stream in listener.incoming() {
  7. let stream = stream.unwrap();
  8. handle_connecton(stream);
  9. }
  10. }
  11. fn handle_connecton(mut stream: TcpStream) {
  12. let mut buffer = [0; 512];
  13. stream.read(&mut buffer).unwrap();
  14. let get = "GET / HTTP/1.1\r\n";
  15. if buffer.starts_with(get) {
  16. // It's the request we want
  17. let contents = fs::read_to_string("hello.html").unwrap();
  18. let response = format!("HTTP/1.1 200 OK\r\n\r\n{}", contents);
  19. stream.write(response.as_bytes()).unwrap();
  20. stream.flush().unwrap();
  21. } else {
  22. // a different request so who cares
  23. }
  24. // println!("Request: {}", String::from_utf8_lossy(&buffer[..]));
  25. }