VC++ 设置网卡接口MTU大小

在 Windows C/C++ 之中一共有三种方法可以设置网卡的MTU大小。

方法一:

SetIpInterfaceEntry 法

            static bool SetInterfaceMtu2(int interface_index, int mtu) noexcept{PIP_ADAPTER_ADDRESSES pAddresses = NULL;ULONG ulBufLen = 0;GetAdaptersAddresses(AF_UNSPEC, 0, NULL, pAddresses, &ulBufLen);char* szBuf = (char*)Malloc(ulBufLen);pAddresses = (IP_ADAPTER_ADDRESSES*)szBuf;if (NULL == pAddresses){return false;}NETIOAPI_API dwErr = GetAdaptersAddresses(AF_INET, GAA_FLAG_SKIP_ANYCAST, NULL, pAddresses, &ulBufLen);if (dwErr == NO_ERROR){while (NULL != pAddresses){if (pAddresses->IfIndex == interface_index) {MIB_IPINTERFACE_ROW ifRow;InitializeIpInterfaceEntry(&ifRow);//interested nameifRow.InterfaceLuid = pAddresses->Luid;ifRow.Family = AF_INET;ifRow.NlMtu = mtu;dwErr = SetIpInterfaceEntry(&ifRow);break;}pAddresses = pAddresses->Next;}}Mfree(szBuf);return dwErr == NO_ERROR;}

方法二:

SetIfEntry 法

            std::shared_ptr<MIB_IFROW> GetIfEntry(int interface_index) noexcept{if (interface_index < 0){return NULL;}std::shared_ptr<MIB_IFROW> pIfRow = std::shared_ptr<MIB_IFROW>((MIB_IFROW*)Malloc(sizeof(MIB_IFROW)),[](MIB_IFROW* p) noexcept{Mfree(p);});if (NULL == pIfRow){return NULL;}pIfRow->dwIndex = interface_index;if (::GetIfEntry(pIfRow.get()) != NO_ERROR){return NULL;}return pIfRow;}int GetInterfaceMtu(int interface_index) noexcept{std::shared_ptr<MIB_IFROW> ifRow = GetIfEntry(interface_index);if (NULL == ifRow){return -1;}else{return ifRow->dwMtu;}}bool SetInterfaceMtu(int interface_index, int mtu) noexcept{// https://learn.microsoft.com/en-us/windows/win32/api/netioapi/nf-netioapi-getifentry2// https://learn.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getifentrystd::shared_ptr<MIB_IFROW> ifRow = GetIfEntry(interface_index);if (NULL == ifRow){return false;}if (ifRow->dwMtu == mtu){return true;}else{ifRow->dwMtu = mtu;}DWORD dwErr = SetIfEntry(ifRow.get());if (dwErr == NO_ERROR){if (GetInterfaceMtu(interface_index) == mtu){return true;}}return SetInterfaceMtu2(interface_index, mtu);}

方法三:

命令行法

查看网络接口设置(MTU列项)

netsh interface ipv4 show subinterfaces

通过网络接口索引来管理,MTU是大小,10为网络接口索引

 netsh interface ipv4 set subinterface 10 mtu=1400 store=persistent

通过网络接口名字来管理,MTU是大小,eth0为网络接口名

netsh interface ipv4 set subinterface eth0 mtu=1400 store=persistent

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/747074.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

植物神经功能紊乱患者每天从5片黛力新减少至2片,只因找对了治疗方法!

植物神经功能紊乱是一种常见的心理疾病&#xff0c;其症状包括焦虑、失眠、疲劳、头痛、胃肠不适等&#xff0c;给患者带来很大的困扰。然而&#xff0c;这种疾病是可以治疗的。本文将介绍一位植物神经功能紊乱患者的治疗经历&#xff0c;希望能够帮助更多的人了解和治疗此病。…

生成二维码及加入logo和文字

<html> <!-- 存放二维码的容器 --> <div idqrcode></div> <script typetext/javascript srchttp://cdn.staticfile.org/jquery/2.1.1/jquery.min.js></script> <script src"https://cdn.bootcss.com/jquery.qrcode/1.0/jquery.qr…

Chrome 跨域问题CORS 分析

先叠个甲,有错误,望沟通指正! 文章目录 1.什么是跨域报错2.为什么postman可以,浏览器访问就不行?根本原因是什么?2.1浏览器是依据什么来报错跨域的? 3.常规解决方案的分析方案1.通过代理解决方案2.被请求的B域的服务端开启Access-Control-Allow-Origin返回头的支持方案3.通…

【python】列表篇

文章目录 列表的索引与切片列表删除列表增加调整类型后转换为列表count和index函数 列表的索引与切片 # List [P, y, t, h, o, n] List list(map(str,Python)) print(List[3]) print(List[-4:])列表删除 Python 列表&#xff08;list&#xff09;中常用的删除元素的函数和方…

python前端开发

前端开发 快速网站开发 from flask import Flask appFlask(__name__) #创建网址/show/info 和函数index的对应关系&#xff0c; #访问网站&#xff0c;执行index()函数 app.route("/show/info") def index():return "中国联通" if __name__"__main_…

Three.js基础入门介绍——Three.js学习七【播放模型动画时模型沿着轨迹移动】

效果描述 在播放导入的模型动画同时&#xff0c;让模型沿着预定路径轨迹移动。例如导入一个会跑步动作的模型&#xff0c;让它沿着一条类似跑道的路径跑步移动。 实现流程 基本流程 1、搭建场景 2、添加模型和播放动画 3、添加路径和模型移动 工程文件 工程文件结构如下图&…

谁用过腾讯云轻量应用服务器2核2G3M配置,支持多少人在线?

腾讯云轻量应用服务器2核4G5M配置一年优惠价165元、252元15个月、三年756元&#xff0c;100%CPU性能&#xff0c;5M带宽下载速度640KB/秒&#xff0c;60GB SSD系统盘&#xff0c;月流量500GB&#xff0c;折合每天16.6GB流量&#xff0c;超出月流量包的流量按照0.8元每GB的价格支…

InheritableThreadLocal和ThreadLocal的区别和使用场景

快人快语&#xff0c;先说结论&#xff0c;InheritableThreadLocal 是 ThreadLocal 的一个子类&#xff0c;它包含ThreadLocal 的所有功能并且扩展了 ThreadLocal 的功能&#xff0c;允许父线程中的 InheritableThreadLocal 变量的值被子线程继承。这意味着&#xff0c;当创建一…

常用芯片学习——TP4057电源管理芯片

TP40578 500mA线性锂离子电池充电器 芯片介绍 TP4057是一款性能优异的单节锂离子电池恒流/恒压线性充电器。TP4057采用S0T23-6封装配合较少的外围原件使其非常适用于便携式产品&#xff0c;并且适合给USB电源以及适配器电源供电。 基于特殊的内部MOSFET架构以及防倒充电路&a…

Python实现一笔画游戏

Python实现一笔画游戏 关于一笔画介绍可参见“HTML5实现一笔画游戏”https://blog.csdn.net/cnds123/article/details/136669088 在Python中&#xff0c;Tkinter是一个广泛使用的标准GUI库&#xff0c;我们将使用它来实现这个游戏。 先给出效果图&#xff1a; 连接线段时&am…

MQL语言实现抽象工厂模式

文章目录 一、定义抽象产品接口二、定义抽象工厂接口三、定义具体产品四、定义具体工厂五、定义工厂客户端六、客户端调用工厂客户端七、抽象工厂模式的结构 一、定义抽象产品接口 //------------------------------------------------------------------ //| participants …

城乡居民基本医疗信息管理系统|基于Springboot的城乡居民基本医疗信息管理系统设计与实现(源码+数据库+文档)

城乡居民基本医疗信息管理系统目录 目录 基于Springboot的城乡居民基本医疗信息管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、病例管理 2、医院资讯信息管理 3、医院资讯类型管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选…

微信小程序开发学习笔记《21》uni-app框架-楼层图片跳转

微信小程序开发学习笔记《21》uni-app框架-楼层图片跳转 博主正在学习微信小程序开发&#xff0c;希望记录自己学习过程同时与广大网友共同学习讨论。建议仔细阅读uni-app对应官方文档 一、创建新的分包goods_list 二、将请求到的楼层数据url调整为本地的 可以看到上图是请求…

关于固件的简单解释

我不喜欢等人也不喜欢被别人等——赤砂之蝎 简而言之 固件是什么 固件&#xff08;Firmware&#xff09;是一种软件类型&#xff0c;它是嵌入式系统中的一部分&#xff0c;通常存储在设备的非易失性存储器中&#xff0c;如闪存或ROM&#xff08;只读存储器&#xff09;。与操作…

蓝桥杯---棋盘(典型的二维差分问题)

题目链接&#xff1a;棋盘 这道题真的是非常典型的二维差分问题了&#xff08;在我个人看来&#xff09;&#xff0c;题目中的0和1&#xff0c;我们直接让差分数组&#xff0c;偶数就是0&#xff0c;奇数就是1.初始化是0&#xff0c;是白子&#xff08;偶数&#xff09;&#x…

libevent中bufferevent事件及常用的API函数

自带buffer的事件-bufferevent bufferevent实际上也是一个event&#xff0c;只不过比普通的event高级&#xff0c;他的内部有两个缓冲区&#xff0c;以及一个文件描述符&#xff08;网络套接字&#xff09;。一个网络套接字有读写两个缓冲区&#xff0c;bufferevent同样也带有…

探索仿函数(Functor):C++中的灵活函数对象

文章目录 一、仿函数定义及使用二、仿函数与函数指针的区别三、仿函数与算法的关系四、仿函数的实践用例 在C编程中&#xff0c;我们经常需要对数据进行排序、筛选或者其他操作。为了实现这些功能&#xff0c;C标准库提供了许多通用的算法和容器&#xff0c;而其中一个重要的概…

思科防火墙如何配置静态NAT

环境&#xff1a; 思科防火墙ASA5555 Cisco Adaptive Security Appliance Software Version 9.4(2)6 Device Manager Version 7.5(2)153 问题描述&#xff1a; 思科防火墙如何配置静态NAT 解决方案&#xff1a; 1.做之前要先查一下有没有端口被占用&#xff0c;要和业务确…

nut-ui组件库icon中使用阿里图标

1.需求 基本每个移动端组件库都有组件 icon组件 图标组件、 但是很多组件库中并找不到我们需要的图标 这时候 大家有可能会找图标库 最大众的就是iconfont的图标了 2.使用 有很多方式去使用这个东西 比如将再限链接中的css引入 在使用 直接下载图标 symbol 方式 等....…

【NR 定位】3GPP NR Positioning 5G定位标准解读(十三)-DL-AoD定位

前言 3GPP NR Positioning 5G定位标准&#xff1a;3GPP TS 38.305 V18 3GPP 标准网址&#xff1a;Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;一&#xff09;-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;…