gpt4 book ai didi

c - 应该关闭损坏的 socket 吗?

转载 作者:可可西里 更新时间:2023-11-01 02:57:33 24 4
gpt4 key购买 nike

我正在读取 TCP 套接字:

int read_result = recv(socket_fd, &some_struct, some_size, 0);

如果 read_result 等于 -1,我仍然应该对该文件描述符调用 close 还是直接保留它?

最佳答案

根据 recv 手册页,recv 可能返回 -1(EAGAIN、EBADF、EINVAL、 ENOMEM 等)。我建议根据这些预期的返回值检查 errno 并修改您的代码以采取相应的行动。如果您正在编写一个库,您可能希望返回一个特定于库的错误代码。如果您是应用程序,您可能希望终止或向调用者返回错误代码。这将取决于上下文。

然而,解决此问题的第一步是了解可能返回的各种错误代码并相应地处理它们。

关于c - 应该关闭损坏的 socket 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52028526/

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