package main
import (
"crypto/tls"
"fmt"
"log"
"net"
)
func main() {
ln, err := net.Listen("tcp", ":12345")
if err != nil {
log.Fatal(err)
}
for {
c, err := ln.Accept()
if err != nil {
log.Fatal(err)
}
fmt.Println(c)
tls.LoadX509KeyPair("cert.pem", "key.pem") // created by http://golang.org/src/pkg/crypto/tls/generate_cert.go
}
}
telnet localhost 12345
Is tls.LoadX509KeyPair closes net.Conn?
The problem is that you're not using the network connection for anything here, and it's simply getting cleaned up with garbage collection, since the next iteration through the loop is re-declaring c
.
Adding the following will show you a Hello
response on the network connection before closing it.
c.Write([]byte("HELLO
"))
c.Close()