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

select 问题

    来源: 互联网  发布时间:2016-12-11

    本文导语:  1, 在 server 端, 监听 127.0.0.1:9798 2, 在 client端, 建立一个 sock_fd -- cli_fd,  然后 connect 127.0.0.1:9798, 成功返回        connect(cli_fd, ...); 3, 此时在 server 端, 由 accept() 返回一个 sock_fd --- ser_fd 4, ...


1, 在 server 端, 监听 127.0.0.1:9798
2, 在 client端, 建立一个 sock_fd -- cli_fd,  然后 connect 127.0.0.1:9798, 成功返回 
      connect(cli_fd, ...);
3, 此时在 server 端, 由 accept() 返回一个 sock_fd --- ser_fd
4, 在server端
      FD_ZERO( &readfds);
      FD_SET( ser_fd, &readfds);
      select( FD_SETSIZE, &readfds, (fd_set *)0, (fd_set *)0, (struct timeval *)0);
      此时server 阻塞
5, 在client端循环 write(cli_fd, buf, 10)

为什么server端还是一直阻塞, 我个人理解应该是有数据可读了?

困扰久, 请朋友不以浅薄, 多加指点, 谢谢。

|
从你描述的流程来看,没有问题

你可以试试去掉select,直接read(ser_fd..)能否返回数据
如果可以返回数据,那说明你的select检测有问题

|
把你select相关的部分贴出来看看?
试试select( ser_fd+1, &readfds, (fd_set *)0, (fd_set *)0, (struct timeval *)0);

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.accessibility类accessiblestate的类成员方法: selected定义及介绍
  • 究竟怎么样取得的<select name="select_user" size="8" multiple>值
  • java命名空间javax.accessibility类accessiblestate的类成员方法: selectable定义及介绍
  • man select 结果返回 No manual entry for select
  • java命名空间javax.swing.tree类defaulttreeselectionmodel的类成员方法: selection定义及介绍
  • select <0时调用exit(0),为什么程序没有退出,而是继续执行select了?
  • java命名空间javax.swing.tree类defaulttreecellrenderer的类成员方法: selected定义及介绍
  • insert into select和select into的使用和区别介绍
  • java命名空间java.awt.event类itemevent的类成员方法: selected定义及介绍
  • select+read 读服务器发送过来的数据, 假设服务器调用close后, 客户端的select是否返回这个socket可读?
  • java命名空间javax.swing类defaultbuttonmodel的类成员方法: selected定义及介绍
  • JDBC里select sum和select返回的字段类型不一样
  • java命名空间javax.swing.text.html类html.tag的类成员方法: select定义及介绍
  • sql代码:select database select all table
  • java命名空间javax.swing.text.html类html.attribute的类成员方法: selected定义及介绍
  • Oracle中select 1和select *的区别
  • java命名空间javax.swing.plaf.synth接口synthconstants的类成员方法: selected定义及介绍
  • jquery下拉select控件操作方法分享(jquery操作select)
  • java命名空间javax.sound.midi类shortmessage的类成员方法: song_select定义及介绍
  • INSERT INTO SELECT语句与SELECT INTO FROM语句的一些区别
  • java命名空间javax.swing类jfilechooser的类成员方法: cancel_selection定义及介绍
  • select into 和 insert into select 两种表复制语句


  • 站内导航:


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

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

    浙ICP备11055608号-3