golang:tls.LoadX509KeyPair关闭net.Conn?

时间:2014-10-02 12:06:32

标签: go network-programming

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
    }
}
  1. 编译并运行此程序(go1.3.3 linux / amd64 @ ubuntu14.04)
  2. telnet localhost 12345
  3. telnet命令退出immediatery
  4. tls.LoadX509KeyPair关闭net.Conn?

1 个答案:

答案 0 :(得分:2)

问题在于你没有在这里使用网络连接,只是通过垃圾收集进行清理,因为循环的下一次迭代是重新声明c

添加以下内容会在关闭网络连接之前显示Hello响应。

    c.Write([]byte("HELLO\n"))
    c.Close()