易截截图软件、单文件、免安装、纯绿色、仅160KB

linux下怎么设置udp接收缓存最大值?

if(setsockopt(TUdpRec_sUDP,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int)) == 0)
printf( "set senbufsize = %d\n", nRecvBuf);
if(getsockopt(TUdpRec_sUDP, SOL_SOCKET, SO_RCVBUF, (char *)&nRecvBuf, &nBufSize) == 0)
printf( "get senbufsize = %d\n", nRecvBuf);

使用这样的方法设置udp缓冲,最大就只能到256K,能不能突破这个限制?
怎么设置??
为什么要设置那么大的缓冲区 ?

为什么不把包分成几个来发?

一次发太大的包很容易失败。

现在只是从网络收UDP数据(1024包大小),写到硬盘。
缓冲偶尔会溢出,

还有  用netsata命令看信息

其中:
udp包接收错误,还有最后的 接收缓冲错误
数都很大. 

什么情况会造成这样的原因??

1、可以突破这个限制,但是首先要增大Linux操作系统的接受缓冲区限制。
2、UDP接收错误,原因:(1)网络条件较差,比如同时有大量的别的数据包。
                      (2)由于你写硬盘处理得比接收的慢,缓冲区满以后,有的数据包被抛弃了。


比如运行程序前,先执行如下命令:
sysctl -w net.core.rmem_max=13238272 net.core.rmem_default=13238272



相关问答:

使用Struts2上传文件,在linux下报错

使用Struts2上传文件,在linux下报错
2009-09-29 14:56:20,801 [org.apache.struts2.interceptor.FileUploadInterceptor]-[ERROR] Processing of multipart/form-data request failed. c:/temp/upload__1dcd07ee_12 ......

Linux 目录问题

Linux新手,请大哥大姐不要见笑。

我用root用户登录到Linux系统。在根目录下面建了目录dir1,后用命令cd /dir1进入到dir1目录下,然后再用mkdir dir2建立了目录dir2 ,再后来用命令cd /dir2是,提示为:-bush ......

关于Linux gcc编译器的问题

原先的GCC版本为4.1.2,我重新编译安装了GCC4.3.2,但是编译完程序运行程序时会出现version `GLIBCXX_3.4.9' not found 这个问题.在网上面查了一下是软连接的问题。但是本人对Linux不太熟悉,“应该制作RPM包然后 ......

linux 下安装oracle

请问谁有在linux下安装oracle的指导文档最好是11g的,安装了好几次都失败了,郁闷……

10g的文档,供参考.

linux平台下oracle数据库安装
http://blog.csdn.net/tianlesoftware/archive/2009/10/24/47 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号