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

socket的block和nonblock到底有什么区别?

    来源: 互联网  发布时间:2016-01-30

    本文导语:  之前看数隐约记得是主要区别是read(): nonblock:read()在没有接收到数据时会立即返回0; block: read()在没有接收到数据时会阻塞一段时间,时间过后还没有收到会返回一个值(这个值是0还是-1好像) 记得不是很牢...

之前看数隐约记得是主要区别是read():
nonblock:read()在没有接收到数据时会立即返回0;
block: read()在没有接收到数据时会阻塞一段时间,时间过后还没有收到会返回一个值(这个值是0还是-1好像)
记得不是很牢,请大家帮我弄清楚这个内容

|
nonblock/block,不仅仅是在read,write上体现出来,在connect,accept,send,recv等和外设操作有关的函数都能体现出来.
block时,函数等到此操作结束才返回.一般可以根据返回值来判断成功失败.
nonblock时,函数只是对已经存在的数据进行做作,不等待.要有其他方法来判断成功失败.

|
1楼加楼主的一起是正确答案.

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












  • 相关文章推荐
  • java命名空间java.net类socket的类成员方法: socket定义及介绍
  • re socket编程中 ACCEPT返回的socket与原socket(他参数中的)端口号一样吗?
  • java命名空间java.nio.channels类socketchannel的类成员方法: socket定义及介绍
  • libevent2需要从socket读一段数据写入一个socket中,同时发送给另一个socket
  • java命名空间java.nio.channels类serversocketchannel的类成员方法: socket定义及介绍
  • socket 通讯开发包 Simple Sockets
  • java命名空间java.nio.channels类datagramchannel的类成员方法: socket定义及介绍
  • C++ Socket 库 C++ Sockets
  • java命名空间java.net类socket的类成员方法: getsendbuffersize定义及介绍
  • vc做的的socket应用和unix下socket?
  • java命名空间java.net类socket的类成员方法: getreceivebuffersize定义及介绍
  • QSocketDevice ( int socket, Type type )中那个 int socket 是哪里来得?
  • java命名空间java.net类socket的类成员方法: gettrafficclass定义及介绍
  • socket编程 通过man socket, 没有找到socket函数的第一参数该填什么 怎样利用man手册
  • java命名空间java.net类socket的类成员方法: getport定义及介绍
  • 线程间可否通过管道传递SOCKET句柄?还有其他方式传递SOCKET么?
  • java命名空间java.net类socket的类成员方法: getlocalport定义及介绍
  • [FreeBSD] 大神,求解,control socket : can‘t to any socket
  • java命名空间java.net类socket的类成员方法: getinetaddress定义及介绍
  • 两个 Socket 互相通信,其中一个如何判断另一个 Socket 是否已经意外断开了连接?
  • java命名空间java.net类socket的类成员方法: isconnected定义及介绍
  • 大家帮忙推荐一本linux socket编程的入门书,我刚接触socket,谢谢!!


  • 站内导航:


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

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

    浙ICP备11055608号-3