Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "bufio"
  5. "io"
  6. "log"
  7. "net"
  8. "strings"
  9. ) //fichier serveur
  10.  
  11. func main() {
  12.  
  13. // parrot server listens on all addresses of local system, port :8080
  14. lst, err := net.Listen("tcp", ":8080")
  15. if err != nil {
  16. log.Fatal(err)
  17. return
  18. }
  19. conn, err := lst.Accept()
  20. if err != nil {
  21. log.Fatal(err)
  22. return
  23. }
  24. log.Printf("Incoming connection from %v\n", conn.RemoteAddr())
  25. lines := bufio.NewReader(conn) //objet pour lire les lignes plus facilement, renvoie les lignes une par une
  26. for noError := true; noError; {
  27. line, err := lines.ReadBytes('\n') //lire ligne jusqu'au caractère fin deligne
  28.  
  29. switch err {
  30. case nil:
  31. log.Printf("Received: \"%s\" from %v", strings.TrimSpace(string(line)), conn.RemoteAddr())
  32. conn.Write(line)
  33. case io.EOF: //EOF end of file, le client à fermé la co
  34. log.Printf("Connection reset by peer %v\n", conn.RemoteAddr())
  35. noError = false
  36. default:
  37. log.Printf("Error: %v\n", err)
  38. noError = false
  39. }
  40.  
  41. }
  42. conn.Close()
  43.  
  44. log.Printf("Closing server\n")
  45. return
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement