gpt4 book ai didi

tcp - 在 golang 中,TCPConn.Write/Read 会返回什么错误?

转载 作者:IT王子 更新时间:2023-10-29 01:33:31 26 4
gpt4 key购买 nike

在golang中,你会如何处理TCPConn.Read/Write返回的错误?这个document没有说任何关于读/写错误的信息。

最佳答案

TCPConn 上的

ReadWrite 可能会返回您的操作系统、硬件和驱动程序的组合可能会返回的大部分错误,以及一些net 包错误,以及 io.EOF 适用时。因此,真正由您决定要查找哪些错误以及如何处理它们。网络 API 的每一层,甚至是 berkeley socket api,都是一个有漏洞的抽象,如果不了解实际的套接字和网络协议(protocol)是如何工作的,就无法充分利用它。

通常你只需要关心io.EOF,它在连接关闭时由Conn.Read返回。在 TCP 套接字上,这相当于 recv 在阻塞连接上返回 0 字节。

您可以处理的任何其他错误通常包含在 net.Error 中,它提供了 Temporary()Timeout() 方法。通常真正的错误类型是 *net.OpError ,它可以提供有关错误发生时间的更多信息,以及封装操作返回的实际错误。

关于tcp - 在 golang 中,TCPConn.Write/Read 会返回什么错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31473522/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com