main( int argc , char ** argv ) { sockid = socket( ... ) ; bind( sockid ) ; listen( sockid ) ; // 下面创建进程池,由该组进程对该 socket id 进行 select 调用,来检测 accept 和 read/write 事件。 for( i = 0 ; i < 10 ; i++ ) { if ( fork( ) >; 0 ) continue ; while( 1 ) { fd_set rfds ; FD_ZERO( &rfds ) ; FD_SET( sockid , &rfds ) ; F...
先建立了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...
如题,谢谢! [ 本帖最后由 yjh777 于 2006-10-26 15:40 编辑 ]
请教各位,最近遇到郁闷的问题。 在sco 5.05运行正常的通讯程序移植到linux上就出现错误。 源码片断: int start_accept( int sock, struct sockaddr *p_sin ) { int len; int clisock; if ( ( clisock = accept( sock, p_sin , &len ) ) == -1 ) { commlog( "accept error %s", strerror( errno ) ); return FALSE; } return clisock; } 在linux下报错: accept error Invalid argume...
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()最多等待时间,对...
select tid FROM `join` group by tid order by count(*) desc limit 2; CREATE TABLE `join` ( `id` int(25) NOT NULL auto_increment, `uid` int(25) NOT NULL, `tid` int(25) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ; -- -- 导出表中的数据 `join` -- INSERT INTO `join` VALUES (1, 1, 1); INSERT INTO `join` VALUES (2, 1, 2); INSERT INTO `join` VALUES (3, 2, ...