当前位置:  技术问答>linux和unix

高分求教select问题(linux下)

    来源: 互联网  发布时间:2015-09-05

    本文导语:  不明白在linux下为什么select返回永远是0?请看代码。去掉select判断则可以正常接收数据。 int main(int argc, char **argv) { int sock; int i=0; int timeout_conut=30; fd_set fdRead; struct sockaddr_in serverAddr; struct sockaddr_i...

不明白在linux下为什么select返回永远是0?请看代码。去掉select判断则可以正常接收数据。



int main(int argc, char **argv)
{

int sock;
int i=0;
int timeout_conut=30;
fd_set fdRead;
struct sockaddr_in serverAddr;
struct sockaddr_in s_DstAddr;
memset(&serverAddr,0,sizeof(serverAddr));
memset(&s_DstAddr,0,sizeof(s_DstAddr));

serverAddr.sin_family      = AF_INET;
serverAddr.sin_port        = htons(12345);
serverAddr.sin_addr.s_addr = INADDR_ANY;


if((sock = socket(AF_INET,SOCK_DGRAM,0)) ==-1)
{
printf("socket init failuren");
close(sock);
return 0;
}
int val = 1;

if(setsockopt(sock,SOL_SOCKET,SO_REUSEADDR,(char *)&val,sizeof(val))==-1)
{
printf("SO_REUSEADDR failuren");
return 0;
}
/**/
int iRet;
if(bind(sock,(struct sockaddr *)&serverAddr, sizeof(serverAddr))==-1)
{
  printf("bind socket failuren");
close(sock);
return 0;

}

iRet =100*1024;
setsockopt(sock,SOL_SOCKET,SO_RCVBUF,(char *)&iRet,sizeof(iRet));

struct timeval timeout;
timeout.tv_sec=1;
timeout.tv_usec=0;
int nDataRecv=0;


int NameLen=sizeof(struct sockaddr_in);
char  recbuffer[300];
memset(recbuffer,0,sizeof(recbuffer));
     printf("start recv msgn");

                         
       
for(i=0;i
select(sock+1,&fdRead,NULL,NULL,&timeout);


int select(int  nfds,  fd_set  *readfds,  fd_set  *writefds,
     fd_set *errorfds, struct timeval *timeout);

     The nfds argument specifies the range of file descriptors to
     be  tested.  The select() function tests file descriptors in
     the range of 0 to nfds-1.

|
select第一个参数是0,当然select不到了。

    
 
 

您可能感兴趣的文章:

  • Linux远程访问的问题,高分求教:)
  • 各路高手请进!高分求教,非常着急!
  • 高分求教的问题(关于SendMail设置)
  • 高分求教,散分!
  • 在线等待求教:sun solaris8 下如何安装g++。高分
  • (高分求教)学习J2EE前所应具有的知识.
  • together5.5的注册码,高分求教!
  • weblogic6.1的crack,高分求教!
  • 关于JAVA的内存泄露,高分求教!
  • j2re 1.4 如何拿到所有逻辑盘符?高分求教!
  • 高分求教,关于JTextField
  • 请问一下javascript里面有没有readonly属性(高分求教)
  • 高分求教
  • 高分求教:root的空间不够了,怎样增加空间?
  • 高分求教:java特大数组
  • linux如何从图形界面切换到命令格式(高分求教)?
  • 高分求教,linux下的GPRS连接!!!
  • 高分求教!!!!如何将数据库的查询结果组合起来?
  • 现在遇到linux屏幕方面的问题,高分求教!!
  • 高分求教小問題
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 谁参加过weblogic的证书考试,是否有经验可供参考?高分高分高高分
  • 哪里有JB6下载啊,高分相送,救命
  • 高分求救!我在uclinux上运行应用程序时出现内存分配错误,不知如何解决,解决者高分!!
  • 哪里去找中文的EJB文章?高分悬赏!
  • 有jsp的upload和download 代码么,高分相报!
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 高分寻求jsp代码(网上调查系统,新闻发布系统)就这点分了
  • 高分求购做饼图、线形图的源吗?
  • 关于linu下的中文输入.(高分:300)
  • 论坛 iis7站长之家
  • 高分求购jbulider6得注册码,企业版本,个人版本都要
  • 请问哪儿有Solaris8的光盘映像文件下载???高分相赠!!!
  • 高分求“Ration Rose”&"JBuilder6.0"&"VisualCafe"
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • 高分求购:linux和unix命令大全电子文档
  • 急救:关于BLOB数据类型---在线等待,高分相送!
  • 求UNIXWARE7.11的原版下载,高分相赠,在线等待!!!
  • 关于java?高分相送!
  • 请问哪里可以下载IP地址段对应城市的信息?高分回报!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3