Skip to content

Instantly share code, notes, and snippets.

@takatoshiono
Last active December 6, 2016 04:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save takatoshiono/4368730beaa791ecc96fe4a282edeeee to your computer and use it in GitHub Desktop.
Save takatoshiono/4368730beaa791ecc96fe4a282edeeee to your computer and use it in GitHub Desktop.
Golang echo server
package main
import (
"log"
"net"
)
func main() {
ln, err := net.Listen("tcp", ":8081")
if err != nil {
log.Fatalf("Listen failed: %v\n", err)
}
for {
conn, err := ln.Accept()
if err != nil {
log.Fatal("Accept failed: %v\n", err)
}
go handleConnection(conn)
}
}
func handleConnection(conn net.Conn) {
defer conn.Close()
b := make([]byte, 1024)
_, err := conn.Read(b)
if err != nil {
log.Fatalf("Read failed: %v\n", err)
}
_, err = conn.Write(b)
if err != nil {
log.Fatalf("Write failed: %v\n", err)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment