首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于fread超时有关问题

2012-02-11 
关于fread超时问题有一开源代码,建立socket后,用fdopen打开sockid,返回FILE指针以后对该socket的操作都是

关于fread超时问题
有一开源代码,建立socket后,用fdopen打开sockid,返回FILE指针

以后对该socket的操作都是以流文件方式如:fread,fwrite等

我的问题是如何对fread操作进行超时处理?select,setsockopt似乎都不行



[解决办法]
select,setsockopt似乎都不行??
你是怎么处理的
[解决办法]
如何设置连接超时:
http://blog.bcchinese.net/v45072501/archive/2006/06/05/73642.aspx
[解决办法]
select怎麽不行了?

int WaitResponse(int sock_fd, int timeout)
{
fd_set rfds;
struct timeval tv;
int ret = FALSE;
int selectRet = -1;

memset(&tv, 0, sizeof(struct timeval));

FD_ZERO(&rfds);
FD_SET(sock_fd, &rfds);
tv.tv_sec = timeout;
tv.tv_usec = 0;
selectRet = select(sock_fd + 1, &rfds, NULL, NULL, &tv);
if(selectRet == -1){
ret = FALSE;
}
else if(selectRet > 0 && FD_ISSET(sock_fd, &rfds)){
ret = TRUE;
}
else{
ret = FALSE;
}
return ret;
}

热点排行