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

关于recvfrom和read函数的接收速率问题

    来源: 互联网  发布时间:2016-03-19

    本文导语:  请教一下关于recvfrom和read函数最大接收速率的问题。。我做了一个收发UDP数据包的程序,当发送端每秒发送300个数据包时,接收端能全部收到。 当大于300个时,就开始丢包。。请教各位高人,这两个函数的接收速率...

请教一下关于recvfrom和read函数最大接收速率的问题。。我做了一个收发UDP数据包的程序,当发送端每秒发送300个数据包时,接收端能全部收到。
当大于300个时,就开始丢包。。请教各位高人,这两个函数的接收速率只有这么大吗?怎样才能增大接收速率呢??
我用的是64字节的UDP包。。

|
1、server端接收数据的buffer仍然是65不变,但是
n=recvfrom(sockfd,buffer,65,0,(struct sockaddr *)&addr1,&client);
改成
n=recvfrom(sockfd,buffer,64,0,(struct sockaddr *)&addr1,&client);


2、client端送信buffer未初始化,我增加了初始化处理。


只做2,不做1,不能保证成功。
1、2都做,在添加sleep和for循环的情况下,测试通过。

只做1,不做2的情况,未验证。

|
和缓冲区有关系。
recvfrom和read函数都是从内核的缓冲区拷贝数据的。 

当内核的缓冲区满了,udp的就有可能丢包, tcp的就可能阻塞。

这时候可以增大缓冲区, 使内核尽可能多的接收数据。

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












  • 相关文章推荐
  • accept,recvfrom接收到奇怪的ip
  • recvfrom() 接收线程阻塞
  • udp socket recvfrom偶尔会返回-1,perror打印出的提示是"recvfrom: Resource temporarily unavailable"
  • php iis7站长之家
  • recvfrom阻塞时间长了,会不会导致服务端程序不灵活?
  • 怎么解除recvfrom阻塞的阻塞状态
  • [求助]如何让阻塞的信号量、recvfrom退出?
  • alarm中关闭了socketfd,但是recvfrom无法知道
  • socket 编程recvfrom 问题...求教
  • [疑惑]UDP中的recvfrom奇怪现象,怎么保持上次sendto的内容???哪位帮解释一下
  • recvfrom是不是线程安全的?
  • 创建了2个套接字Raw socket和socket,都调用recvfrom(),一个专门捕获数据包,一个在9001端口监听UDP请求,怎么不行?
  • UX:ping: ERROR: recvfrom: No route to host
  • recvfrom(): Resource temporarily unavailable
  • 关于网络通信中recvfrom和sendto的用法
  • Linux下的recvfrom为什么一直阻塞
  • linux下udp的recvfrom问题,大神,我需要你。。。
  • Linux网络抓包的程序 [使用recvfrom之后无限阻塞]
  • 为什么服务器端的recvfrom不阻塞等待客户端的数据就返回了?
  • 关于UDP的recvfrom收不到数据的问题,请高手帮忙
  • recvfrom取IP和PORT的问题


  • 站内导航:


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

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

    浙ICP备11055608号-3