Skip to content

Instantly share code, notes, and snippets.

@kemadz
Created March 8, 2017 12:14
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 kemadz/8dcd9d3f146b830249017006264fa8b0 to your computer and use it in GitHub Desktop.
Save kemadz/8dcd9d3f146b830249017006264fa8b0 to your computer and use it in GitHub Desktop.
Tcp listen and echo server
package main
import (
"flag"
"log"
"net"
)
func main() {
port := flag.String("port", "80", "port to listen")
flag.Parse()
l, err := net.Listen("tcp", ":"+*port)
if err != nil {
log.Fatal(err)
}
defer l.Close()
for {
conn, err := l.Accept()
if err != nil {
log.Fatal(err)
}
go func(c net.Conn) {
log.Printf("Accepted from %s.", c.RemoteAddr())
addr, _, _ := net.SplitHostPort(c.RemoteAddr().String())
c.Write([]byte(addr + "\r\n"))
c.Close()
}(conn)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment