套接字编程中,select:bad file descriptor
来源:互联网 发布:ubuntu pyqt4安装 编辑:程序博客网 时间:2024/05/16 16:05
第一次select的是server的socket,accept一个连接的fd之后加入select,再select就出错了...
An invalid file descriptor was given in one of the sets. (Perhaps a file descriptor that was already closed, or one on which an error has occurred.)
原因是原来是不小心把套接字关了
另外看到有这样的说法:
错误提示信息是:Bad File Descriptor
原因在于,上面的写法有误!
int ret=SOCKET_ERROR; fd_set FDRead={0}; struct timeval timeout={0}; FD_ZERO(&FDRead); FD_SET(sock, &FDRead); timeout.tv_sec = EPOLL_SERVER_TIME_OUT; timeout.tv_usec = EPOLL_SERVER_TIME_OUT_MILLSECONDS; ret = select(sock+1, &FDRead, 0, 0, &timeout); if(ret == SOCKET_ERROR) { break; }
int ret=SOCKET_ERROR; fd_set FDRead={0}; struct timeval timeout={0}; FD_ZERO(&FDRead); FD_SET(sock, &FDRead); timeout.tv_sec = EPOLL_SERVER_TIME_OUT; timeout.tv_usec = EPOLL_SERVER_TIME_OUT_MILLSECONDS; ret = select(sock+1, &FDRead, 0, 0, &timeout); if(ret == SOCKET_ERROR) { break; }
不应该捕获无关的套接字事件!
- 套接字编程中,select:bad file descriptor
- 套接字编程中,recv error:bad file descriptor
- 套接字编程中,recv error:bad file descriptor
- select error:bad file descriptor
- socket编程时 send: Bad file descriptor
- select函数的错误,Invalid argument 或 Bad file descriptor
- bad file descriptor
- select with reglar file descriptor
- mysql 中的异常 Bad file descriptor
- sys.setdefaultencoding 引发 [Bad file descriptor]解决
- Http bad file descriptor
- php fpm 启动 错误 Bad file descriptor
- python网络编程报错socket.error: [Errno 9] Bad file descriptor
- Anaconda Python 2.7 64-bit windows 安装中[Errno 9] Bad file descriptor解决方法
- 异步套接字编程之select模型
- 套接字编程2 ------ 多路复用select示例
- open 创建文件并读写的错误--bad file descriptor
- 对于报 'Bad file descriptor'错误的原因
- 在Java程序中设置代理
- SET FMTONLY 使用
- MyEclipse配置findbugs
- mysql sql语句大全
- 系统闹钟程序知识点记录
- 套接字编程中,select:bad file descriptor
- Linux清除正在写的文件内容(比如nohup.out)
- HDU 1712 ACboy needs your help 多组背包
- AIDL sample
- PHP的三目运算符
- SQL Server 2008 数据维护实务
- 几个有用的iOS开源代码
- OCX和DLL的区别
- 文件描述符、文件表项、V节点表项的一些总结