先建立了20个SOCKET,并放入了select监听队列 wset 然后运行select命令,发生Operation now in progress错误,不知道怎么回事,急!!在线等 [code]struct timeval tv;//select超时时间 int i; while(count) { tv.tv_sec = 10; tv.tv_usec=0; printf("1111\n"); fflush(stdout); if(select(1024+1,NULL,&wset,NULL,&tv)<=0) { printf("%d,%s\n",errno,strerror(errno)); continue; } printf("2222...
by shineyear - C/C++ - 2006-09-27 18:38:14 阅读(1347) 回复(6)
我在linux系统下,用c调用select函数,该进程为多线程。select函数是在一个线程中调用,但是select函数很不稳定,有时候能监控到端口数据,有时候监控不到。 请问在线程中调用select函数是否要注意其它什么问题?谢谢!!
#include
作者: redfans 出自: http://www.linuxdiyf.com 在linux下使用mysql(特指MySQL的客户端工具)进行查询,当数据比较多时,很快就一页一页的翻过去了,无法看清数据。 在linux下是有办法看清每一页的数据的。可以用--pager参数 比如mysql --pager=more 或者mysql --pager=less 这样每显示满一页,就会等待你按键来翻页,比如按空格键。按q则退出此查询,不用等到全部显示完。 如果使用了--pager=less还可以按B键来往前翻页,看...
我安装Red Hat linux9时选择了'select individual package'的选项,现在要增加软件时选择软件很不方便,怎样把这个选项去掉?
void* CMySocket::PeekMessage(void* lpParameter) { CMySocket* pSocket = (CMySocket* )lpParameter; int usersock_fd = pSocket->GetSocketfd(); struct timeval tv; // tv.tv_sec = 0; // tv.tv_usec = 5000; fd_set rdfdset, exfdset; while(1) { FD_ZERO(&rdfdset); FD_ZERO(&exfdset); FD_SET(usersock_fd, &rdfdset); FD_SET(usersock_fd, &exfdset); if(select(usersock_fd+1, &rdfdset, NULL, &exf...
看 使用 select 设计超时 connect 函数的问题(linux 上连接 127.0.0.1 任何端口总是成功 http://community.csdn.net/Expert/topic/5617/5617988.xml?temp=.6573145
我们用的开发平台是基于linux 2.4 内核代码上的,上层的应用程序都是通过socket进行通信的(包括进程间通信和网络通信),socket都设置位nonblock,但是最近经过测试发现有两种情况下socket的系统调用会一直阻塞不能返回: 1,select的调用,这种情况下的socket是作为服务端,且已经建立了连接,我们对select设置了超时时间,但有时候可能是由于调用select太频繁(服务端向客户端发送大数据,服务端把大数据分片发送,select就是等...
void fun() { int i; int ch; struct timeval timeout; timeout.tv_sec=1; timeout.tv_usec=0; fd_set readfds; FD_ZERO(&readfds); FD_SET(0,&readfds); i=select(1,&readfds,NULL,NULL,&timeout); if(i==1) ch=getchar(); printf("%c",ch); fun(); } int main() { pid_t pid; if((pid=vfork())==0)fun(); while(1); return 1; } ------------------------- 我原是想通过fun来监听键...
一、winsock中 #include 原型 int select( int nfds , fd_set* readfds , fd_set* writefds , fd_set* exceptfds , const struct timeval* timeout ); nfds:本参数忽略,仅起到兼容作用。 readfds:(可选)指针,指向一组等待可读性检查的套接口。 writefds:(可选)指针,指向一组等待可写性检查的套接口。 exceptfds:(可选)指针,指向一组等待错误检查的套接口。 timeout:select()最多等待时间,对...