main.go 888 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package main
  2. import (
  3. "net"
  4. "fmt"
  5. "io"
  6. "log"
  7. "strconv"
  8. "github.com/davecgh/go-spew/spew"
  9. "code.osinet.fr/fgm/gache/storage"
  10. )
  11. // Listen on all interfaces by default.
  12. const DEFAULT_HOST = "";
  13. const DEFAULT_PORT = 11211;
  14. func serve(connection net.Conn) {
  15. fmt.Printf("Handling connection on %s from %s\n", connection.LocalAddr(), connection.RemoteAddr())
  16. fmt.Fprintln(connection, "Welcome to the echo server!")
  17. io.Copy(connection, connection)
  18. }
  19. func storer(store storage.Storage) {
  20. }
  21. func main() {
  22. var storage storage.Storage = storage.NewNullStorage()
  23. storer(storage)
  24. sock, err := net.Listen("tcp", DEFAULT_HOST + ":" + strconv.Itoa(DEFAULT_PORT))
  25. if err != nil {
  26. log.Fatal(err)
  27. }
  28. addr := sock.Addr()
  29. spew.Dump(addr)
  30. fmt.Printf("Beginning to listen on %s\n", addr)
  31. for {
  32. conn, err := sock.Accept()
  33. if err != nil {
  34. log.Fatal(err)
  35. }
  36. go serve(conn)
  37. }
  38. }