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

发送大量数据,socket API最优分包长度为多少?

    来源: 互联网  发布时间:2017-01-23

    本文导语:  假设要通过socket发送一个几M的数据,该如何确定每次send的数据的大小。 | TCP 会采用 Nagle 算法自动将一些小的缓冲区连接到一个报文段中。这样可以通过最小化所发送的报文的数量来提高...

假设要通过socket发送一个几M的数据,该如何确定每次send的数据的大小。

|
TCP 会采用 Nagle 算法自动将一些小的缓冲区连接到一个报文段中。这样可以通过最小化所发送的报文的数量来提高应用程序的效率.关键在于设置发送和接收缓冲区。
最优的 TCP socket 缓冲区大小=link_bandwidth * RTT 
RTT:发送报文与接收到另一端的响应之间的延时

|
尽量发大包吧,越大性能越好吧,tcp自己会分包控制大小的,

tcp就是流协议,无所谓分不分包的,你小包发的,他也可能组装成一个大包才发出去的。

书上这么说的,udp就不清楚了。


|
首先看你的网络状况,其次socket的缓冲,你要知道这个缓冲可以设置大小的,所以没这个标准

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












  • 相关文章推荐
  • TCP发送数据,假如发送套接口是非阻塞的,而要发送的数据大于缓冲区尺寸
  • 串口应用程序,当对方发送大量的数据时,本方的数据无法发出。对方停止发送,本方的数据仍然无法发出。不知道是什么原因。
  • 我想让内核向网卡发送数据时,不是立即发送,而是等我允许时再发送
  • 数据包通过dev_queue_xmit发送出去,dev_queue_xmit返回值为0,但是对方收不到数据包 ,本机也抓不到发送出去的包
  • 同多个线程通过同一个socket发送数据,操作系统底层会同步每个发送操作吗
  • 怎么判断串口已经收到数据,并及时读出?怎么判断串口已经将写入的数据发送完毕?
  • 求教一个组播发送视频数据的问题!
  • linux串口程序可以发送数据,但是不能接受数据?谁知道原因?
  • 通过socket连接一次性发送大数据量的问题
  • 请问网络连接断开,如何让数据在联网后连续发送?
  • socket发送数据问题(50分)
  • 请问在netfilter的forward点上怎么将原来从eth0发送的数据包转向由eth1发送啊?
  • 数据发送正常,但tcpdump捕获不到数据包???
  • 网络编程中先发送的数据是不是先到达目的
  • 怎么实现Windows和Linux之间数据的接收发送
  • vc通过socket发送数据给java的问题
  • 循环发送udp数据导致电脑脱网
  • 请问在文本终端下,怎么用shell命令使网卡发送数据?
  • 使用udp,连续发送大数据发生丢包亲情况
  • 网卡驱动程序往外发送数据包的问题
  • HTTP协议发送请求详解
  • socket发送端、接收端同一机器,kill掉接收端进程,发送端也被kill?
  • *** 高分, 请问如何发送一个事件, 比如发送一个Tab键? ***
  • 谁知道minicom监控VT100终端时候发送"F1"键是发送的什么转义字符呢?
  • 有没有谁实现了向IE浏览器那种“发送网页(P)”,把完整html格式发送给相应email?
  • 用sendto(socket, buf, strlen(buf), ...)发送一个包,如何得到发送的源地址(也就是本机的源地址)
  • postfix 在内网可以正常接收与发送邮件,但向局外,不能接收与发送
  • sendmail,内部发送接收可以,当用外部的域名,无法发送和接收,如163账号。
  • 求助,udp文件传输发送端发送完了,接收端却接受到一半就bad address?
  • 通过短信发送LOG归类号码发送情况的shell脚本
  • 怎么用sendmail发送纯文本邮件,无论中英文都可显示,但如改用发送html格式的邮件,即message.setContent("Hello,this is content,后面


  • 站内导航:


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

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

    *** 高分, 请问如何发送一个事件, 比如发送一个Tab键? *** iis7站长之家