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,能不能突破这个限制?
怎么设置??
http://topic.csdn.net/t/20021128/17/1213893.html
还有一个问题。
现在只是从网络收UDP数据(1024包大小),写到硬盘。
用netsata命令看信息
其中:
udp包接收错误,还有最后的 接收缓冲错误
数都很大.
什么情况会造成这样的原因??
我只用过setsockopt和getsockopt,ls的几位的没用过,不过我觉得一次接收256K已经足够了(我还没遇见过recvfrom能一下子收到超过256K的数据)。
没有拥塞控制,也不保证包的顺序,速度越快,错误越多,
除非应用层实现可靠udp,要么用tcp,否则无法从根本上解决问题
相关问答:
写了个测试程序如下
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
我目前在本地的linux上写了一个swing的界面,想通过这个界面来控制其它电脑的linux重启。
我知道用Runtime.getRuntime().exec("shutdown -r");可以控制本机Linux重启,但是怎么控制远程的linux重启呢? ......
现在我有两台机 一个在家 一个在学校 在学校的那台机子不能上网 我把家里的那台机子更新到最新了 然后把 /var/cache/apt/archives 下的所有Deb包复制到学校那台没联网的机子上了&nbs ......
请问谁有在linux下安装oracle的指导文档最好是11g的,安装了好几次都失败了,郁闷……
10g的文档,供参考.
linux平台下oracle数据库安装
http://blog.csdn.net/tianlesoftware/archive/2009/10/24/47 ......