嵌入式linux下大数据量的网络传送问题
请通信程序前辈 多多帮帮忙!
小弟刚进嵌入式的门槛不久,最近在做一款中速的数据采集产品,在网络通信这块儿遇到问题,还望大家多提提意见,帮帮忙!
产品的采样率达到100ksps到500ksps,产品板跑的是linux系统,开发板上的内存总共是32MB,用fpga来做fifo,有不到1MB的空间。如果按100ksps的采样率采样的话,基本上每秒钟会出现如下的数据量:
100 *1024* sizeof(short) 每秒! 每秒约有200kB的数据量产生。若为500ksps,则有1MB/秒 的数据。
所以我需要很快地通过网络通信程序把这些数据全部传送到windows端! 在linux端构建了一个server,专门把这数据传到windos段的客户端。关键是我的server受限于linux下网络传输的最大块4096B限制,所以基本上我一次就传输2000个数据,约有4000B,再加上一些包头96字节。我也用setsockopt来设置过发送缓冲区为8192B,但是不太好使!网络传输跟不上数据产生速度,导致了数据有丢失,这是老总坚决不同意的!
所以请教高手,对于这种大量数据的传输问题,在linux下是如何去解决的呢? 像对于agilent,NI的上兆上G采样率的产品,它们是如何实现把这种大数据传到windows端呢?
我的数据传输过程中,都是以字符数组的形式来将数据发送的。我想请问一下linux下,在网络中有二进制数据流这种传输形式吗?不解!
我的MSN:scastronaut@gmail.com QQ: 759402252,望前辈提提意见,不吝指教!
小弟刚进嵌入式的门槛不久,最近在做一款中速的数据采集产品,在网络通信这块儿遇到问题,还望大家多提提意见,帮帮忙!
产品的采样率达到100ksps到500ksps,产品板跑的是linux系统,开发板上的内存总共是32MB,用fpga来做fifo,有不到1MB的空间。如果按100ksps的采样率采样的话,基本上每秒钟会出现如下的数据量:
100 *1024* sizeof(short) 每秒! 每秒约有200kB的数据量产生。若为500ksps,则有1MB/秒 的数据。
所以我需要很快地通过网络通信程序把这些数据全部传送到windows端! 在linux端构建了一个server,专门把这数据传到windos段的客户端。关键是我的server受限于linux下网络传输的最大块4096B限制,所以基本上我一次就传输2000个数据,约有4000B,再加上一些包头96字节。我也用setsockopt来设置过发送缓冲区为8192B,但是不太好使!网络传输跟不上数据产生速度,导致了数据有丢失,这是老总坚决不同意的!
所以请教高手,对于这种大量数据的传输问题,在linux下是如何去解决的呢? 像对于agilent,NI的上兆上G采样率的产品,它们是如何实现把这种大数据传到windows端呢?
我的数据传输过程中,都是以字符数组的形式来将数据发送的。我想请问一下linux下,在网络中有二进制数据流这种传输形式吗?不解!
我的MSN:scastronaut@gmail.com QQ: 759402252,望前辈提提意见,不吝指教!
...全文
相关推荐
嵌入式Linux网络通信程序开发.pdf
嵌入式Linux网络通信程序开发本篇论文主要讨论了基于Linux操作系统的嵌入式网络通信程序开发,特别是基于AX88796网卡驱动程序的开发。
嵌入式Linux下C程序与Windows下Delphi程序的网络通信.pdf
本文主要探讨了在嵌入式Linux环境下使用C语言编写的程序如何与Windows平台上的Delphi程序进行UDP协议的网络通信,解决了两者间兼容性的问题。
linux嵌入式串口通信程序
本文将详细解析"Linux嵌入式串口通信程序"的知识点,包括串口通信的基本概念、原理以及如何使用C语言编写相关的程序。
嵌入式linux系统的socket通信程序
在嵌入式Linux系统中,Socket通信是一种广泛用于设备间数据传输的技术,它基于Berkeley套接字接口,允许应用程序通过网络进行进程间通信(IPC)或者设备间通信。
基于嵌入式Linux的TCP通信异常问题.pdf
基于嵌入式Linux的TCP通信异常问题本篇文章主要讨论基于嵌入式Linux的TCP通信异常问题,通过对Linux操作系统和TCP通信机制的分析,解决了Linux在通信过程中发生的问题,并对类似的TCP


