UDP 服务端程序,在ARM和PC上表现结果不一样,咋回事?

色郎中 2015-05-06 01:26:50
UDP

相同的代码:
ARM 和PC上,唯一区别就是 交叉编译了一下
在PC上的表现结果:
1ms定时发 一组命令,发一段时间后,换一个新命令,能立即返回新命令的结果;
ARM上的表现结果:
1ms定时发一组命令,发一段时间后,换一个新命令,不能立即返回新命令的结果,总要先执行几条前面一条命令的结果,也是就要多发几次新命令,才是想要的结果。



查看了两个系统的缓冲区大小如下:

[root@FORLINX6410]# sysctl -a | grep rmem
net.core.rmem_max = 108544
net.core.rmem_default = 108544
sysctl: error reading key 'net.ipv4.route.flush': Permission denied
net.ipv4.tcp_rmem = 4096 87380 260096
net.ipv4.udp_rmem_min = 4096
[root@FORLINX6410]#



root@ubuntu:/mnt/hgfs/vmshare# sysctl -a | grep rmem
error: permission denied on key 'vm.compact_memory'
error: "Invalid argument" reading key "fs.binfmt_misc.register"
error: "Invalid argument" reading key "dev.parport.parport0.autoprobe"
error: "Invalid argument" reading key "dev.parport.parport0.autoprobe0"
error: "Invalid argument" reading key "dev.parport.parport0.autoprobe1"
error: "Invalid argument" reading key "dev.parport.parport0.autoprobe2"
error: "Invalid argument" reading key "dev.parport.parport0.autoprobe3"
net.core.rmem_max = 131071
net.core.rmem_default = 163840
error: permission denied on key 'net.ipv4.route.flush'
net.ipv4.tcp_rmem = 4096 87380 905792
net.ipv4.udp_rmem_min = 4096
error: permission denied on key 'net.ipv6.route.flush'
root@ubuntu:/mnt/hgfs/vmshare#
...全文
153 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
色郎中 2015-05-11
  • 打赏
  • 举报
回复
换了块板子 就OK了 估计是内核版本问题导致的,,,,
zyc_0204 2015-05-07
  • 打赏
  • 举报
回复
及tcpdump
赵4老师 2015-05-06
  • 打赏
  • 举报
回复
建议楼主先学会使用抓包软件比如wireshark

69,378

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧