C ++如何使用select查看套接字是否已

C ++如何使用select查看套接字是否已,第1张

C ++如何使用select查看套接字是否已

下面的代码段首先检查套接字是否标记为可读(关闭时为已标记),然后检查是否确实有要读取的内容。

#include <sys/time.h>#include <sys/types.h>#include <unistd.h>#include <sys/ioctl.h>bool isclosed(int sock) {  fd_set rfd;  FD_ZERO(&rfd);  FD_SET(sock, &rfd);  timeval tv = { 0 };  select(sock+1, &rfd, 0, 0, &tv);  if (!FD_ISSET(sock, &rfd))    return false;  int n = 0;  ioctl(sock, FIONREAD, &n);  return n == 0;}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4896639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存