Skip to content

Instantly share code, notes, and snippets.

@pablodz
Forked from GoesToEleven/tcp read write golang
Created December 13, 2021 18:11
Show Gist options
  • Save pablodz/167d2c998282337905849b98c9cfe89e to your computer and use it in GitHub Desktop.
Save pablodz/167d2c998282337905849b98c9cfe89e 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