Skip to content

Instantly share code, notes, and snippets.

@dthtvwls
Last active May 13, 2017 04:27
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 dthtvwls/50deaa34cb83dc0ddc5f29e436c5127f to your computer and use it in GitHub Desktop.
Save dthtvwls/50deaa34cb83dc0ddc5f29e436c5127f to your computer and use it in GitHub Desktop.
TCP echo server
package main
import (
"bufio"
"flag"
"io/ioutil"
"log"
"net"
)
func init() {
flag.Parse()
}
func main() {
if ln, err := net.Listen("tcp", flag.Arg(0)); err != nil {
log.Fatalln(err)
} else {
defer ln.Close()
for {
if conn, err := ln.Accept(); err != nil {
log.Println(err)
} else {
go func() {
defer conn.Close()
if message, err := ioutil.ReadAll(bufio.NewReader(conn)); err != nil {
log.Println(err)
} else {
conn.Write(message)
}
}()
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment