package main import ( "io" "log" "net" ) func main() { listener, err := net.Listen("tcp", "0.0.0.0:7000") if err != nil { panic(err) } for { go handle(listener.Accept()) } } func handle(conn net.Conn, err error) { if err != nil { log.Println(err) return } defer conn.Close() var buf [1024]byte for { n, readErr := conn.Read(buf[:]) log.Println("writing ", string(buf[:n])) _, writeErr := conn.Write(buf[:n]) if writeErr != nil { log.Println("error when writing", err) } if readErr != nil { if readErr != io.EOF { log.Println("error when reading", err) } return } } }