或者如何检查它是否可用于循环中的Read
或Write
?如果conn关闭或不可用,我们应该停止循环。如何检查net.Conn已关闭?
例如:
package main
import "net"
func main() {
conn, err := net.Dial("tcp", "127.0.0.1:1111")
defer conn.Close()
for {
buf := make([]byte, 1, 1)
n, err := conn.Read(buf)
if err != nil {
// currently we can only stop the loop
// when occur any errors
log.Fatal(err)
}
}
}
请注意,这仅涵盖读取。写入不应该返回'io.EOF'。 – Adrian