Skip to content

Instantly share code, notes, and snippets.

@sh0umik
Forked from GoesToEleven/tcp read write golang
Created January 21, 2020 14: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 sh0umik/0dc7674fa28fa170ba24760f6dbe370f to your computer and use it in GitHub Desktop.
Save sh0umik/0dc7674fa28fa170ba24760f6dbe370f to your computer and use it in GitHub Desktop.
package main
import (
"net"
"log"
"io"
"fmt"
)
func main() {
ln, err := net.Listen("tcp", ":9000")
if err != nil {
log.Fatalln("listen messed up", err.Error())
panic(err)
}
defer ln.Close()
for {
conn, err := ln.Accept()
if err != nil {
log.Fatalln("conn messed up", err.Error())
panic(err)
}
var bs = make([]byte, 1024)
n, err := conn.Read(bs)
if err != nil {
log.Fatalln("read messed up", err.Error())
panic(err)
}
m, err := conn.Write(bs)
if err != nil {
log.Fatalln("write messed up", err.Error())
panic(err)
}
io.WriteString(conn, fmt.Sprintln("Bytes read: ", n))
io.WriteString(conn, fmt.Sprintln("Bytes written: ", m))
conn.Close()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment