Skip to content

Instantly share code, notes, and snippets.

@alevy
Created April 13, 2014 23:40
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 alevy/10606796 to your computer and use it in GitHub Desktop.
Save alevy/10606796 to your computer and use it in GitHub Desktop.
Golang tls.Conn#Read vs net.Conn#Read discrepency
package main
import (
"net"
"log"
)
func main() {
listener, err := net.Listen("tcp", ":8080")
if err != nil {
log.Fatalf("Error loading certificate: %s\n", err)
}
conn, err := listener.Accept()
if err != nil {
log.Fatalf("Error loading certificate: %s\n", err)
}
conn.Read(make([]byte, 0, 0))
log.Print("Hello world\n")
}
package main
import (
"crypto/tls"
"log"
)
func main() {
cert, err := tls.LoadX509KeyPair("server.crt", "server.key")
if err != nil {
log.Fatalf("Error loading certificate: %s\n", err)
}
config := &tls.Config{Certificates: []tls.Certificate{cert}}
listener, err := tls.Listen("tcp", ":8080", config)
if err != nil {
log.Fatalf("Error loading certificate: %s\n", err)
}
conn, err := listener.Accept()
if err != nil {
log.Fatalf("Error loading certificate: %s\n", err)
}
conn.Read(make([]byte, 0, 0))
log.Print("Hello world\n")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment