当前位置: 首页 > news >正文

(10) 如何获取 linux 系统上的 TCP 、 UDP 套接字的收发缓存的默认大小,以及代码范例

(1) 先介绍下后面的代码里要用到的基础函数:

在这里插入图片描述

++ 以及:

在这里插入图片描述

++

在这里插入图片描述

(2) 接着给出现代版的 读写 socket 参数的系统函数 :

在这里插入图片描述

++ 以及:

在这里插入图片描述

(3) 给出 一言的 范例代码,获取当代 linux 系统的 tcp 套接字的缓存大小:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <sys/types.h>int main() 
{int sockfd , sndbuf, rcvbuf ;        socklen_t optlen;sockfd = socket(AF_INET, SOCK_STREAM, 0);  // 创建一个 TCP 套接字if (sockfd < 0) {   perror("socket");    exit(EXIT_FAILURE);  }// 获取发送缓存大小optlen = sizeof(sndbuf);if (getsockopt(sockfd, SOL_SOCKET, SO_SNDBUF, (void *)&sndbuf, &optlen) < 0) {perror("getsockopt SO_SNDBUF");close(sockfd);       exit(EXIT_FAILURE);}printf("Send buffer size: %d bytes\n", sndbuf);// 获取接收缓存大小optlen = sizeof(rcvbuf);if (getsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, (void *)&rcvbuf, &optlen) < 0) {perror("getsockopt SO_RCVBUF");close(sockfd);        exit(EXIT_FAILURE);}printf("Receive buffer size: %d bytes\n", rcvbuf);close(sockfd);  // 关闭套接字return 0;
}

++ 给出 ubantu 的打印结果( 跟 30 年前的 伯克利系统里的缓存设置,已经有了很大的差别)

在这里插入图片描述

++ 以下是 30 年前的 tcp/ip 协议的系统缓存设置:

在这里插入图片描述

(4)

谢谢

http://www.lryc.cn/news/531306.html

相关文章:

  • 程序代码篇---项目目录结构HSV掩膜Opencv图像处理
  • 注解与反射基础
  • Vue指令v-html
  • 院校联合以项目驱动联合培养医工计算机AI人才路径探析
  • CDDIS从2025年2月开始数据迁移
  • 前端 | JavaScript中的reduce方法
  • 【C++】B2124 判断字符串是否为回文
  • 人工智能学习(五)之机器学习逻辑回归算法
  • Bash 基础与进阶实践指南
  • 基于开源AI智能名片2 + 1链动模式S2B2C商城小程序视角下的个人IP人设构建研究
  • 基于springboot+vue的航空散货调度系统
  • 【C++】B2122 单词翻转
  • OSCP 渗透测试:网络抓包工具的使用指南
  • Android 进程间通信
  • Kubernetes学习之通过Service访问Pod
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.18 对象数组:在NumPy中存储Python对象
  • Web - CSS3基础语法与盒模型
  • CSS知识总结
  • 基于Spring Security 6的OAuth2 系列之十 - 授权服务器--刷新token
  • 信息学奥赛一本通 2113:【24CSPJ普及组】小木棍(sticks) | 洛谷 P11229 [CSP-J 2024] 小木棍
  • 安装hami的笔记
  • 【区块链】区块链密码学基础
  • 强化学习笔记(5)——PPO
  • 【C语言入门】解锁核心关键字的终极奥秘与实战应用(三)
  • 寒假day10
  • 本地部署与使用SenseVoice语音大模型简析
  • Kafka SASL/SCRAM介绍
  • 中间件漏洞之CVE-2024-53677
  • pytorch基于 Transformer 预训练模型的方法实现词嵌入(tiansz/bert-base-chinese)
  • Windows电脑本地部署运行DeepSeek R1大模型(基于Ollama和Chatbox)