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

关于select()函数的用法

    来源: 互联网  发布时间:2014-12-04

    本文导语:  int select(int n,fd_set* readfds,fd_set* writefds,fd_set* exceptfds,sturct timeval* timeout) 我还是不太明白这个函数的使用场合,最好谁给我讲讲。 根据我的理解,我现在想用这个函数实现如下功能: 客户建立一个套接字fd,和...

int select(int n,fd_set* readfds,fd_set* writefds,fd_set* exceptfds,sturct timeval* timeout)
我还是不太明白这个函数的使用场合,最好谁给我讲讲。
根据我的理解,我现在想用这个函数实现如下功能:
客户建立一个套接字fd,和服务器建立一个连接,然后客户
可能在这个套接字上接收服务器发来的指令,也可能客户向
服务器主动报告状态。

我现在想在主循环中,将fd加入readfds和writefds,然后调用select(...),
当服务器发命令后,可以用FD_ISSET(fd,readfds)判断到有数据接收,当客户向服务器主动报告时,可以用FD_ISSET(fd,writefds)判断有数据要发送,不知道这样可不可以?如果可以,怎么才能让FD_ISSET(fd,writefds)判断为真呢?

|
select 返回大于0的值以后(等于0表示超时,小于0表示错误)

就应该用FD_ISSET测试描述符。

如果只是为了检测一个fd,用select没有什么意义,

writefds一般用处不大,只要发送缓冲区有空间就返回,表示可以写,问题是阻塞模式的时候,要发送的数据量比发送缓冲区空余空间大,写的时候照样阻塞。


    
 
 

您可能感兴趣的文章:

  • html中<select>标签用法解析及如何设置select的默认选中状态
  • 请教大家一下linux下有关select模式的用法
  • SQL SELECT DISTINCT 语句用法
  • select函数问题? iis7站长之家
  • sql server 中 Select 检索高级用法
  • sql语句之SELECT语句用法示例
  • insert select与select into 的用法使用说明
  • SQL中嵌套SELECT 语句用法示例
  • 10个mysql中select语句的简单用法
  • 第2个问题,还是网络,select()用法,到底哪里错了呢?
  • sql语句select like模糊查询用法
  • sql中update select语句用法
  • sql语句中update select语句用法
  • Select和listen函数的区别
  • select函数。
  • 请教select函数
  • 秒爆,求教育,求解释,linux 的select()函数
  • 关于select函数返回错误的处理
  • select函数的问题
  • win32下的select函数可以监听文件句柄吗?
  • select函数问题?
  • select函数
  • 请教套接字中的select()函数问题
  • Linux 中 select 函数问题 !!!!!!!!!!!!!!
  • 请问使用SELECT()函数怎么监测串口发送数据?
  • 关于Select()函数。
  • 关于select函数中struct timeval问题
  • 关于select函数
  • select函数的作用是什么呢?谢谢
  • 我做了个socket服务器,但是客户端接收数据的时候用select()函数????可接受不到
  • select函数疑问
  •  
    本站(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