小黑侠2007 2023-04-16 17:04 采纳率: 0%
浏览 39
已结题

Linux 下面setsockopt设置失效。

有linux的内核开发?
需求就是让下面的代码生效,设置接收缓冲区大小为1

    val = 1;
    datesize = sizeof(int);
    setsockopt(abindIp_info->socketFd, SOL_SOCKET, SO_RCVBUF, (char*)&val, datesize);   //这里怎么设置都是2304

成功与否就是下面取来是1就算功能实现。


    getsockopt(abindIp_info->socketFd, SOL_SOCKET, SO_RCVBUF, (char*)&val, &datesize);

有实力的朋友看看吧,有什么办法可以实现,付费实现。
用这个全局设置就可以了。sysctl -w net.ipv4.tcp_rmem='1024 1 1' 但是这是全局的,我要的是进程自身。

  • 写回答

6条回答 默认 最新

  • X-道至简 2023-04-16 18:02
    关注

    这种明显是设置的值不合理

    评论

报告相同问题?

问题事件

  • 系统已结题 4月24日
  • 创建了问题 4月16日

悬赏问题

  • ¥15 程序实在不会写,要秃了
  • ¥15 pycharm导入不了自己的包
  • ¥15 C#.net通过内网url地址获取文件并下载问题,浏览器postman可以正常下载,用程序不行
  • ¥15 本人本科机械,目前研一。没有深度学习基础,目前对研究生课题一片迷茫,请教各位!
  • ¥15 关于R语言单因素与多因素线性回归的平均值
  • ¥15 服务器清除BIOS之后引导不了
  • ¥15 CPLEX用OPL编写的混合整数线性优化问题。
  • ¥15 可以用EasyConnect连接实验室内网,但无法连接内网才能访问的服务器,为什么?
  • ¥15 前端预览docx文件,文件从后端传送过来。
  • ¥15 层次聚类和蛋白质相似度