qnx修改tcp和udp缓冲区默认大小

news/2024/5/18 15:29:17 标签: tcp/ip, udp, 网络, qnx

拷贝/home/test/qnx/qos223/target/qnx7/aarch64le/sbin/sysctl进系统中

https://www.qnx.com/developers/docs/7.1/#com.qnx.doc.neutrino.utilities/topic/s/sysctl.html

kern.sbmax 默认262144,这个限制住了发送、接收缓冲器大小

./sysctl -w kern.sbmax=1000000 #to 1M 必须先执行
./sysctl -w net.inet.udp.sendspace=233000
./sysctl -w net.inet.udp.recvspace=233000
./sysctl -w net.inet.tcp.sendspace=233000
./sysctl -w net.inet.tcp.sendspace=233000

另外,可直接修改/etc/inetd.conf

https://www.qnx.com/developers/docs/7.1/#com.qnx.doc.neutrino.utilities/topic/i/inetd.conf.html
在这里插入图片描述

测试c语言函数


/* getsndrcv.c:
 * getsockopt sample c code
 * using getsockopt
 * Get SO_SNDBUF & SO_RCVBUF Options:
 */
#include <assert.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <unistd.h>
/*
 * This function reports the error and
 * exits back to the shell:
 */
static void displayError(const char *on_what) {
  if (errno != 0) {
    fputs(strerror(errno), stderr);
    fputs(": ", stderr);
  }
  fputs(on_what, stderr);
  fputc('\n', stderr);
  exit(1);
}
int main(int argc, char **argv) {
  int z;
  int s = -1;       /* Socket */
  int sndbuf = 0;   /* Send buffer size */
  int rcvbuf = 0;   /* Receive buffer size */
  socklen_t optlen; /* Option length */
  /*
   * Create a TDP/IP socket to use:
   */
  s = socket(PF_INET, SOCK_DGRAM, 0);
  /*s = socket(PF_INET,SOCK_DGRAM,0);  udp使用本行代码*/
  if (s == -1) {
    displayError("socket(2)");
  }
  /*
   * Get socket option SO_SNDBUF:
   */
  optlen = sizeof sndbuf;
  z = getsockopt(s, SOL_SOCKET, SO_SNDBUF, &sndbuf, &optlen);
  if (z) {
    displayError(
        "getsockopt(s,SOL_SOCKET,"
        "SO_SNDBUF)");
  }
  assert(optlen == sizeof sndbuf);
  /*
   * Get socket option SO_SNDBUF:
   */
  optlen = sizeof rcvbuf;
  z = getsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcvbuf, &optlen);
  if (z) {
    displayError(
        "getsockopt(s,SOL_SOCKET,"
        "SO_RCVBUF)");
  }
  assert(optlen == sizeof rcvbuf);
  /*
   * Report the buffer sizes:
   */
  printf("Socket s : %d\n", s);
  printf("Send buf: %d bytes\n", sndbuf);
  printf("Recv buf: %d bytes\n", rcvbuf);
  close(s);
  return 0;
}
/*
 * OUTPUT
 *
 [sgupta@rhel54x64 socket]$ gcc getsndrcv.c -o getsndrcv -lsocket
 [sgupta@rhel54x64 socket]$ ./getsndrcv
 Socket s : 3
 Send buf: 16384 bytes
 Recv buf: 87380 bytes
 [sgupta@rhel54x64 socket]$
 */



http://www.niftyadmin.cn/n/5236052.html

相关文章

【SpringBoot】接口返回值结构与实体类结构不一致的场景

背景 上周参与了一个新项目&#xff0c;刚进来就给了一个新需求&#xff0c;两周上线。我主要是负责编写Java后端。在写的时候发现有一些场景里&#xff0c;前端用到的数据和表里的数据不太一样&#xff0c;有时候要多一些字段&#xff0c;有时候要少一些字段。在此结合我遇到…

分享一个用C#写的Aspose.Pdf生成pdf的工具类

公共类 公共属性 标题级别 对应的标题样式 汉字与数字标题对应关系 using Aspose.Words; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Text; using System.Text.RegularExpressions;namespace Common.Bo {public class CommonStyl…

计算机视觉(CV)技术的优势和挑战-AI生成版

一、引言 计算机视觉是人工智能领域中的一个分支&#xff0c;旨在使计算机能够通过处理数字图像或视频数据&#xff0c;实现与人类视觉类似的感知和理解能力。计算机视觉技术的发展在很大程度上受到深度学习的推动&#xff0c;如今已经在很多应用领域得到了广泛的应用&#xf…

听GPT 讲Rust源代码--src/tools(6)

File: rust/src/tools/rust-analyzer/crates/ide/src/references.rs 在Rust源代码中&#xff0c;references.rs文件位于rust-analyzer工具的ide模块中&#xff0c;其作用是实现了用于搜索引用的功能。 该文件包含了多个重要的结构体、特质和枚举类型&#xff0c;我将逐一介绍它…

webpack查找配置文件的策略

Webpack 在执行时会按照一定的策略来查找配置文件。以下是它查找配置文件的基本流程&#xff1a; 1.命令行指定&#xff1a; 如果在运行 Webpack 时通过 --config 或 -c 参数指定了配置文件的路径&#xff0c;那么 Webpack 将使用这个指定的配置文件。 2.默认查找顺序&…

frida - 3.hook类

Hook Java类 获取和修改类的字段、 hook 内部类、枚举所有加载的类。 hook内部类 要hook这个类、需要在类和内部类名之间加上$字符 采用这个分割 var innerClass = Java.use("com.luoge.com.Money.Money$innerClass")hook内部类 可以使用InnerClass.$init 来进行查…

基于Hexo框架搭建个人博客(Node.js、npm、Hexo框架以及Gitee新手教程)

下面是使用Node.js、npm、Hexo框架以及Gitee来生成博客系统的详细步骤&#xff1a; 确保你的计算机已经安装了Node.js。你可以在命令行输入以下命令来检查Node.js是否已经安装&#xff1a; node -v安装npm&#xff08;Node.js的包管理器&#xff09;。npm通常随Node.js一起安装…

Rust国内sparse镜像源配置

文章目录 1. 遇到问题1.1 问题现象1.2 解决办法 2. 重新设置最新 sparse源3. 更多参考资料3.1 字节源3.2 ustc 源3.3 清华源3.4 其他人的总结 1. 遇到问题 有好一阵子没有更新源和安装软件了&#xff0c; 使用ustc的源&#xff0c; 更新了好一阵子&#xff0c; 最后安装居然还出…