In golang, how would you handle error return by TCPConn.Read/Write? this document did not say anything about read/write errors.
在golang中，TCPConn.Write / Read将返回什么错误？
- 好问题 提建议
1条回答 默认 最新
- dream0776 2015-07-17 13:29已采纳
TCPConncould return most of errors that your combination of OS, hardware and drivers could return, along with some
netpackage errors, and
io.EOFwhen applicable. So it's really up to you to know what errors to look for, and how to handle them. Every layer of network API, even the berkeley socket api, is a leaky abstraction, and you can't make full use of it without understanding how the actual sockets and network protocols work.
Usually you only need be concerned with
io.EOF, which is returned by
Conn.Readwhen the connection is closed. On a TCP socket, this is the equivalent of
recvreturning 0 bytes on a blocking connection.
Any other errors that you could handle are usually wrapped in a
net.Error, which provides the
Timeout()methods. Often the real error type is a
*net.OpError, which can provide even more information about when the error occurred, as well as encapsulate the actual error returned by the operation.已采纳该答案评论解决 无用打赏举报分享