gpt4 book ai didi

C 套接字 : Avoiding garbage when socket is closed

转载 作者:太空狗 更新时间:2023-10-29 15:01:20 26 4
gpt4 key购买 nike

我正在使用非阻塞套接字(fd_setsselect 函数)对服务器和客户端进行编程,一旦服务器关闭或关闭客户端套接字,客户端开始接收大量垃圾直到它崩溃..我被警告过,当使用 select() 时,当连接终止时套接字将变得可读,但我怎么知道在

if( FD_ISSET( socket, &read ) ) 
{
}

如果原因只是常规数据或连接已结束?

非常感谢!

最佳答案

文件描述符集不会告诉您套接字是否已关闭,只是您可以尝试从中读取。当远程端关闭连接时,套接字将变为“可读”。当您尝试 recv() 时,返回值将为 0,表示套接字已关闭。始终检查您的返回值。

关于C 套接字 : Avoiding garbage when socket is closed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5937279/

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