Networking 检查错误是否是由于连接关闭造成的

Networking 检查错误是否是由于连接关闭造成的,networking,go,connection,Networking,Go,Connection,是否有办法检查网络操作(例如,net.Conn的各种方法)返回的错误是否是由于本地手动关闭连接(通过Close方法)造成的?特别是,我不是在谈论io.EOF,这意味着连接的另一端关闭了它。看——虽然它一开始似乎很有用,但当你分析它时,很少有一种情况是它有用的,你不知道你正在关闭连接。不幸的是,我处于这种罕见的情况中。但是谢谢!澄清一下:我可以实现一些影响“我是关闭连接的那个人吗?”检查的其他东西,但这比仅仅从错误中获取信息要复杂得多。是的,如果需要发出信号,你必须提前计划,否则你只能解析错误字符

是否有办法检查网络操作(例如,
net.Conn
的各种方法)返回的错误是否是由于本地手动关闭连接(通过
Close
方法)造成的?特别是,我不是在谈论
io.EOF
,这意味着连接的另一端关闭了它。

看——虽然它一开始似乎很有用,但当你分析它时,很少有一种情况是它有用的,你不知道你正在关闭连接。不幸的是,我处于这种罕见的情况中。但是谢谢!澄清一下:我可以实现一些影响“我是关闭连接的那个人吗?”检查的其他东西,但这比仅仅从错误中获取信息要复杂得多。是的,如果需要发出信号,你必须提前计划,否则你只能解析错误字符串。需要考虑的是,错误是否真的很重要,或者您只是在尝试格式化日志消息(或类似)?您能否从读取中捕获错误,并首先关闭连接的读取部分,这将返回一个干净的io.EOF?这是其中之一,您有一个单独的goroutine用于读取和写入每个goroutine,并且需要这两个goroutine在发生错误时能够通信。我当前正在使用同步。一次以确保只记录第一个错误。代码,如果您好奇的话: