挺实用的---测试sendto 的速率--精确microseconds

添加USB wifi驱动到RK3568 在日常开发中我们经常需要用到wifi功能,一般来说soc厂家都会事先做好了几个厂家的wifi驱动在内核源码目录下,我们只需要按原理图配置对应的设备树即可。常用的wifi的接口有:USBSDIOPCIE下面来介绍这这种接口是如何使用wifi芯片。提示:以下是本篇文章正文内容,下面案例可供参考本小节介绍了一个配置一个USBwifi驱动的整个流程,并没有介绍到SDIO,下小节基于AP6256介绍如何使用。 阅读详情

这几天,做网络摄像机,发过去的图像有时会出现 撕裂的情况,最后用代码测了一下,发现是由于发送的速度太快了 。


  struct timeval tv; 
  struct timezone tz; //时区信息
  //gettimeofday(&tv ,&tz);  //gettimeofday(struct timeval * ,struct timezone *)算时间,第儿个参数可以置NULL

   gettimeofday(&tv ,NULL);

  double time_start =tv.tv_sec * 1000000 + tv.tv_usec;
 
  for(loop_num = 0 ;loop_num < 100 ;loop_num ++)
  {
      buffer_send = pic_info + loop_num * 12 * 1024 ;
      if(sendto(socket_descriptor,
           buffer_send, 1024 * 12/*sizeof(pic_info)*/,
           0, (struct sockaddr *)&address, sizeof(address)) == -1)
      {
        perror("Error :send to ");
      }
      usleep(1000);
  } //循环结束我发送 12KB 的数据 
 
  gettimeofday(&tv ,&tz);
  double time_end =tv.tv_sec * 1000000 + tv.tv_usec;  //单位是 微妙

  double difftime = (time_end - time_start)/1000000;
  printf("---difftime  =%f (s) ,and Transmission speed = %f(MB/S)/n" , difftime, 1200 / 1024 /difftime);

 

结果:---difftime  =0.114626 (s) ,and Transmission speed = 8.724024(MB/S)


---

之前没有加上延时,会达到好几十 ,这样造成了数据的丢失。。。

局域网一般连接的标准是10Mbps和100Mbps,这要看集线设备和机器网卡的标准,一般是就低原则,以最低的连接速率作为标准。

传输数据的速率分别是1.25M/S和12.5M/S
现在的网卡一般都是10M/100M自适应的,除非你的网卡很老,或是特殊的。然后还要看你的传输介质怎么样,是不是正常,如果过长,

就会出现衰减,那速度就会受到影响,且会出现丢包的现象了。



我们实际应用中,考虑到其他的因素,一般不能按其最大来传输,一般是按照它最大值的 50% --80%
!





华为OD机试双机位C卷-部门人力分配 (Py/Java/C/C++/Js/Go) 华为OD机试(机考)双机位C卷 【部门人力分配】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - 部门人力分配。 阅读详情

相关推荐

图腾柱无桥PFC控制逻辑解析:从双闭环到电压前馈的设计演进

本文深入解析图腾柱无桥PFC控制逻辑的设计演进,从经典双闭环控制到电压前馈技术的实现。通过分析功率波动问题和动态响应慢的症结,提出引入电压前馈的解决方案,并详细探讨数字实现中的关键注意事项。文章还涵盖控制框图的构建、稳定性分析方法及实际应用中的调参技巧,为开关电源设计提供实用指导。

weixin_29268267的博客 571

Triton模型服务实战:高可用ML推理系统搭建与调优

机器学习模型服务化是MLOps落地的核心环节,其本质是将离线训练好的模型转化为稳定、低延迟、可观测的在线API。关键在于理解模型推理的计算特性(如GPU内存管理、批处理优化)、数据分布漂移对预测可靠性的影响,以及服务与基础设施(Kubernetes、Feature Store)的协同机制。Triton Inference Server凭借多后端支持、动态批处理和模型热更新等能力,成为金融、医疗等强SLA场景下的主流选择。本文聚焦真实产线中的性能压测、特征漂移监控、GPU显存泄漏定位及灰度发布安全护栏等硬核实

diegouyi3472的博客 449

图片数据爬取工具Image-Downloader的安装和使用

文章目录1、python安装2、下载chromedriver并配置3、下载phantomjs并配置.4、安装相关python库5、使用 安装包地址:https://github.com/sczhengyabin/Image-Downloader 下载: 方式一:打开cmd,输入: git clone https://github.com/sczhengyabin/Image-Downloader.git 方式二:打开网址 1、python安装 该数据爬取工具要求python>=3.5,由于

wxplol的博客 6672

UDP sendto频率过快导致发送丢包

很多人会不理解发送速度过快为什么会产生丢包,原因就是UDP的SendTo不会造成线程阻塞,也就是说,UDP的SentTo不会像TCP中的SendTo那样,直到数据完全发送才会return回调用函数,它不保证当执行下一条语句时数据是否被发送。编写一个转发模块,虽然没有要求一转多时要达到多少路(不采用组播的情况下,单纯的一路转成多路),但是本着物尽其用的原则,尽可能测试一下极限。设备A ----------------> 转发设备 ----------------> 设备B。

maimang1001的专栏 5070

Ubuntu20.04下Docker无缝升级实战指南

本文提供了一份在Ubuntu20.04系统上安全、无缝升级Docker的实战指南。文章详细阐述了升级前的版本检查、数据备份等准备工作,逐步演示了通过APT包管理器进行升级或指定版本安装的操作步骤,并强调了升级后的验证与常见问题回滚方案,确保业务容器平稳过渡。

postgres8guard的博客 478

STM32F407标准库下ADC多通道DMA采集的配置与优化

本文详细介绍了STM32F407标准库下ADC多通道DMA采集的配置与优化方法。通过GPIO模拟输入配置、ADC时钟和模式设置、DMA传输参数配置等关键步骤,实现高效的多通道数据采集。文章还提供了性能优化技巧和常见问题排查指南,帮助开发者提升采样速率和稳定性。

weixin_29192141的博客 434

linux sendto 速度慢,UDP Socket 广播中sendto()耗时过长

UDP Socket广播中,sendto()将数据发送到一个结尾为“255”的IP地址,应用中发现sendto()函数耗时过长。参考了“http://topic.youkuaiyun.com/t/20040722/22/3201560.html”中的内容后,经过在自己的局域网内实验,得到以下经验:1、广播到“*.*.*.255”耗时很长(此时局域网内只要很少机台机子工作并接受该广播数据,而不是整个IP段的机子...

weixin_28699741的博客 1678

手把手教你用三极管搭建麦克风音频放大电路(附完整电路图)

本文详细介绍了如何使用三极管搭建麦克风音频放大电路,包括电路设计基础、元件选择、完整电路图及分步焊接指南。通过实际操作和调试技巧,帮助电子爱好者和学生深入理解模拟电路原理,实现音质清晰的音频放大效果。

Black的专栏 985

memcpy与sendto耗时测试

linlinhust的专栏 1436

华为OD机试 - 停车场费用统计 - HashSet(Python/JS/C/C++ 双机位C卷 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。停车场统计当日总收费,包月的车不统计,不包月的车半个小时收一块钱,不满半小时不收费,如果超过半小时,零头不满半小时按半小时算,每天11:30-13:30时间段不收费,如果一辆车停车时间超过8小时后不收费。现提供停车场进出车辆的统计信息,需要你来计

学Java,找哪吒 238

PyTorch深度学习实战(24)——使用U-Net架构进行图像分割

图像分割 (Image segmentation) 是计算机视觉领域中的一个重要任务,旨在将图像划分为具有语义信息的不同区域或对象。与目标检测任务不同,图像分割要求像素级别的精确定位和分类,将每个像素标记为属于哪个类别或属于哪个区域。在本节中,我们将介绍图像分割的基本概念,并训练一个基于 U-Net 架构的图像分割模型。

盼小辉丶的博客 1万+

recvfrom/sendto的效率

在IP协议中,有一个fragment offset表示当前IP包的字节偏移,它是2bytes。所以recvfrom和sendto的数据大小不能超过64K。我们知道IP包的大小不能超过1500个字节,加上MAC头不能超过1514个字节。如果我们采用UDP协议,一个IP包最大的UDP payload为1472个字节(1472 + 8(UDP) + 20(IP) + 14(MAC)). 如果我们每个

刘志胜的专栏 6788

OpenHarmony开发一个App,安装到BearPi-HM Micro开发板

建议先阅读我们这篇,这里面详细介绍了,以及hap包安装的全过程。本篇是介绍如何开发一个App,然后安装到开发板上,比如hap包,无法安装等问题。

Halifax 1030

linux中recvfrom读取速度,Linux中的select、sendto、recvfrom的系统开销

未完成测试环境为8核Intel Core i7 860 2.8GHz,内存8Gb 1333MHz,网卡是100Mbps。内核版本2.6.18。下面的统计都是使用long sys_clock_gettime (CLOCK_PROCESS_CPUTIME_ID, struct timespec *tp)完成的,计时精度为纳秒(ns)。得出的时间并不是很精确,只是对开销的数量级做一个参考。函数名称:lo...

weixin_39867212的博客 567

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

从Jupyter到生产:构建高可靠AI推理服务的工程实践

机器学习模型服务化(ML Serving)是将训练好的模型转化为稳定、低延迟、可观测的在线API的关键环节。其核心原理在于突破传统Web框架(如Flask)的抽象局限,转向专为AI负载设计的推理运行时(如Triton),以解决GPU资源隔离、CUDA上下文管理、动态批处理等底层工程挑战。该技术显著提升服务吞吐量与SLO保障能力,支撑电商推荐、金融风控、IoT预测等高并发、低延时场景。本文聚焦生产级AI服务落地中的三大支柱:可观测性闭环(基础设施/服务/业务三层监控)、模型漂移主动防御(输入门禁/置信熔断/输

djfiew7234的博客 365

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

live555推流----局域网延迟的分析

============20191212--追加---------以下主要追究发送比较大的网络数据时多次调用 系统调用send而产生的耗时问题,不过对于实际上传输音视频实时流的使用场景,往往数据不会这么大,延迟的性能瓶颈主要不在于此======================== 最近在做局域网投屏相关,发现使用vlc做推流和接受,延迟过大(1s以上),改用live555推流和接受,延迟还是过大...

Canok 6226

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

导致sendto执行的时间过长的原因

1。我向一个指定的ip(端口也指定了)发送数据,sendto瞬间完成,即使拔掉网线也瞬间完成,但是当机器和一个会一直广播的相机直连时,我的sendto执行明显变长了很多,大概有1s。<br />2。我机器和相机通过公司的局域网相连sendto又正常了,但是自己用交换机搭建的局域网sendto还是执行很长时间<br />求解可能是你的局域网对于碰撞的检测有问题。另外相机的广播频率如何?你如果和相机广播直连,那么你的网卡就处于双工状态收发并行,你的网卡性能就成为关键了,这个没有啥理论结果的最近在这里有看到许多关

cl52155的专栏 4133

sento 超时

UDP发送信息时有两种情况:1K以内和大于1K。当数据量大于1K时,UDP协议会自己把数据分包发送。这里又有一个优化在里面:如果小于1K即一个包,不管ARP是否解析出MAC地址都会直接发送;当大于1K即两个包以上,为了减少网络资源的浪费,在ARP解析到真实MAC地址之前不会自动发送,直到sendto函数超时。 在我的程序中的数据块是1400B,所以会在发送时花很长时间,而我做实验的是1000B,

chendong3160的专栏 658

socket编程的 sendto 函数

http://see.xidian.edu.cn/cpp/html/372.html 相关函数:send, sendmsg, recv, recvfrom, socket 头文件:#include   #include 定义函数:int sendto(int s, const void * msg, int len, unsigned int flags, const

sunhaoyn的专栏 5371

(原)关于udp的socket发送数据耗时的问题探讨

转载请注明出处:http://www.cnblogs.com/lihaiping/p/6811791.html 本学习笔记,仅用于问题探讨,如有不同,可以讨论。   最近在看流媒体分发服务器的相关代码,其中对于网络udp数据发送耗时的研究,这块有一点点疑问: udp的sendto发送数据的耗时大概为多少?他的耗时跟发送的数据包大小有没有关系?跟对端的ip地址是否存在,有没有关系?是否存在i...

weixin_33747129的博客 1747

带超时时间的sendto和recvfrom(用SO_SNDTIMEO和SO_RCVTIMEO搞起)

       在udp中, 可以用SO_SNDTIMEO和SO_RCVTIMEO来实现发送、接收的超时设置, 下面以SO_RCVTIMEO为例来看看:#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #include &lt;sys/socket.h&gt; #include &lt;netin...

认知 行动 坚持 1万+
上一篇: 利用/proc/scsi/usb-storage来判断 U盘的移入/移出
下一篇: Linux下Socket编程的端口问题( Bind(): Address already in use )
伊娃码力
博客等级 码龄16年 52粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值