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

socket 编程时,write的写入的数据大于socket缓冲区,会有什么结果??

    来源: 互联网  发布时间:2017-03-09

    本文导语:  socket 编程时,write的写入的数据大于socket缓冲区,会有什么结果?? | TCP: 1,阻塞fd将会阻塞直到可以发出,如果超过MTU将会分片,这些你都不需要关心,你发多长的数据都行,不会因为数据...

socket 编程时,write的写入的数据大于socket缓冲区,会有什么结果??

|
TCP:
1,阻塞fd将会阻塞直到可以发出,如果超过MTU将会分片,这些你都不需要关心,你发多长的数据都行,不会因为数据长而导致致命的错误,会自动分片。

2,非阻塞fd将会返回-1,errno==EAGAIN。

UDP:
1,阻塞fd,如果网卡满会阻塞,如果超过UDP最大包限制将会出错返回-1.
2,非阻塞fd,网卡满返回-1,errno=EAGAIN. 超过UDP最大包限制一样会出错。


网络开发根本没在乎这些, 你只要知道检查返回值,相信返回值和错误码即可,健壮的编程毫无问题。

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












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


  • 站内导航:


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

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

    浙ICP备11055608号-3