From TCP to TLS in Go
- POST
Start plain In this post we will have a look at a simple TCP example in Go and how it can be changed to use secure TLS instead.
Plain TCP server First let’s have a look at a simple TCP server. It listens on port 8088 and prints everything it receives to stdout.
package main import ( "fmt" "io" "log" "net" "os" ) func main() { l, err := net.Listen("tcp", ":8088") 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) { io.Copy(os.Stdout, c) fmt.Println() c.Close() }(conn) } } Plain TCP client Next we have a client that will send a message to the above server.