专门为难C高手,select函数出错问题!!!
开发平台:solaris 10 sprac
部分程序代码
int nMaxSock;
struct timeval wait;
fd_set fdset;
while(1)
{
/* ①创建套接字描述符集合 */
FD_ZERO(&fdset);
FD_SET(nLocalSock,&fdset);
FD_SET(nRemoteSock,&fdset);
/* ②准备超时时间 */
wait.tv_sec=60;
wait.tv_usec=0;
/* ③调用select,检查返回 */
nMaxSock = (nLocalSock > nRemoteSock ? nLocalSock : nRemoteSock);
select(nMaxSock+1,&fdset, NULL, NULL, &wait);
有高手能指出,当套接字nLocalSock或nRemoteSock得值达到 1024的时候
select出错返回-1,errno=0, perror显示为 Invalid argument 错误
默认进程允许打开的最大文件数已经由256修改成16384 了。
C高手在哪里?这里有C高手吗?