linux高手网络编程遇到的问题.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:6 大小:145KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

linux高手网络编程遇到的问题.pdf

linux高手网络编程遇到的问题.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

高手的经验:Linux网络通信程序中,最快的数据发送和接收速度能达到的多少...Page1of6首页|新手园地|系统管理|编程问题|网络问题|服务器应用|数据库应用|集群和虚拟机|内核源码|文章精选当前位置:首页>编程问题>正文热点文章·Linux多线程内存释放问题高手的经验:Linux网络通信程序中,最快的数据发送和接收速度能达到的多少?·急:编译链接的问题canno·grep区分大小写问题·linux下面如何查看一个进发布时间:2010-06-03字体:[大中小]·请教:为什么此处非要-or·指针数组初始化问题~~关键字:·matlab2010alinux下载·STLlisterase删除后怎么it-rocket说·关于strcpy以及strncpy的·dlopen的搜索路径的问题相关文章因为最近在linux下调试A/D以100ksps采样率进行采样并将数据通过socket或者RPC两种不同的通信程序发送到windows客户端时,发觉采样出来的数据网络传输得很慢,导致板子上开辟的缓冲区溢出,数据丢失。但又不知道该怎样极大地提高网络速度才能更好地·程序阻塞在了recvfrom,将数据传输过来。请大家提提意见。·线程取消pthread_cancel每秒100k的采样率,其数据量有:100k*4=400kByte=3.2Mbps·开发板无法挂载nfs到vmwar·请问文件加密时怎样做才能开发板的网卡速率为10M/100Mbps。·弱弱问一下如何写这个协议该程序只能使用TCP来传输。·伟创力LinuxC语言/SQLC+·上海LinuxC语言开发薪资此外想请教大家通过setsockopt等设置socket之后,能达到的最快的数据发送、接收速率能达到多少?是怎么做到的?非常感·UNIX编程遇到的函数用法上谢。ShadowStar说建议你将数据合并发送。按照你的说法,100k×4=400KByte。也就是说,每个采样只有4Byte。也就是说,如果每个采样都发送一次报文的话,也就是需要100Kpps的发送速度。一般的开发板子的处理器很难达到这个速度。it-rocket说ShadowStar理解错我的意思了。1秒钟能采样出100000即100k个点,每个点占4个字节大小,我在RPC机制下发送时,可以选择每次发送1024个或者4096个,异或8192个数据这几个不同的值。但是仍然出现板上缓冲区不断堆积数据,最后溢出。TCPsocket程序的情况也差不多。所以我认为要提高网络传输速度,但不知道该如何入手。ShadowStar说如您所述,我认为现象有点不太正常。我建议您查看一下CPU负载,是不是100%了?如果是的话,是不是都被采样程序占用了?3.2Mbps的流量还是不大的,如果只有几个报文的话。it-rocket说ShadowStar不愧是Star啊!呵呵非常感谢。您的推测真的非常的到位,虽然该程序所占的CPU没有完全达到100%,但是该程序所构成的5个线程的CPU之和高达98%。其中T1(应该是我的采集线程,优先级最高)为89.7%;T2(怀疑是我的处理数据线程)占8.2%,T3占了0.1%,T4占了0.0%,T5占了0.1%。其中top命令占了1.7%。总的CPU几乎有99。此外五个线程占得内存比例均为27.4%。其实在我的程序中,我只开了3个线程(采集、数据处理、准备发送数据到发送缓冲区),此外还有main线程,多出了的一个线程,我也不太清楚是怎么回事。采集线程只是按时准确地去采集获得一组数据,所以里边有一个usleep的休眠,有20.48ms(这个时间不精确,我也有些头疼),采集出来的数据放入FIFO1中,就不干其他活儿了。数据处理线程将FIFO1中的数据转换且经过数据处理后放入FIFO2中,用于发送。准备发送数据到发送缓冲区线程将数据填入发送缓冲区待发送,main线程完成数据发送的功能,这是RPC机http://vrlinux.com/bianchengwenti/20100603/68800.html2011-11-8高手的经验:Linux网络通信程序中,最快的数据发送和接收速度能达到的多少...Page2of6制决定的。据您这么一说,似乎我把采集线程的CPU使用量降下来就能有所改进?您能给我一些建议吗?采集线程很关键,不能够因为别的线程占用CPU的处理,而忽略采集,不然采集出来的数据可能会数据量不够或者造成硬件缓冲区满等严重问题。Thanks!ShadowStar说不好意思,我是做内核开发的,对于应用层开发不是很熟。不过如果你