c/c++ 网络编程 UDP 设定MTU
2024-09-25 00:49:12
网络编程 UDP 设定MTU
MTU(Maximun Transmisson Unit):一次送信的最大size。
在程序里动态改变MTU。注意:程序运行需要root权限。
程序运行的方法:
sudo ./a.out
1,取得MTU
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <net/if.h>
int main(){
int fd;
ifreq ifr;
fd = socket(AF_INET, SOCK_DGRAM, 0);
strncpy(ifr.ifr_name, "enp0s3", IFNAMSIZ - 1);
if(ioctl(fd, SIOCGIFMTU, &ifr) != 0){
perror("ioctl");
return 1;
}
close(fd);
printf("Maximun Transmisson Unit:%d\n", ifr.ifr_mtu);
return 0;
}
2,改变MTU
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <net/if.h>
int main(){
int fd;
ifreq ifr;
fd = socket(AF_INET, SOCK_DGRAM, 0);
strncpy(ifr.ifr_name, "enp0s3", IFNAMSIZ - 1);
//change Maximun Transmisson Unit to 1400
ifr.ifr_mtu = 1400;
if(ioctl(fd, SIOCSIFMTU, &ifr) != 0){
perror("ioctl");
return 1;
}
close(fd);
printf("Maximun Transmisson Unit:%d\n", ifr.ifr_mtu);
return 0;
}
在命令行里也可以查看和改MTU(需要root权限)
改变MTU:
sudo ifconfig enp0s3 mtu 1400
查看当前的MTU:
sudo ifconfig enp0s3
c/c++ 学习互助QQ群:877684253
本人微信:xiaoshitou5854
最新文章
- 浏览器内核、渲染引擎、js引擎
- hdu2874 LCA在线算法
- 浅谈声明与定义的区别 分类: C/C++ 2015-06-01 15:08 157人阅读 评论(4) 收藏
- EasyUI的datagrid分页
- 【jquery】字符ascii码转换函数
- Mysql的一些常用命令
- linq入门系列导航
- Java多线程初学者指南系列教程
- 安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案(原创) (2016-10-29 下午01:56)
- 关于SWT的容器类之----面板Composite类和Group类
- [React] React Fundamentals: Component Lifecycle - Mounting Basics
- Kafka 0.8: 多日志文件夹机制
- [CLR via C#]5.3 值类型的装箱和拆箱
- [TensorFlow] Basic Usage
- Linux部分命令及通配符用法
- Struts2 (三)
- MySQL优化(2)--------常用优化
- JXNU暑期选拔赛
- goreplay 输出流量捕获数据到 elasticsearch
- JVM(三)JVM的ClassLoader类加载器
热门文章
- Java破解图片防盗链
- Linux查看系统、核数、CPU、位数
- scala读取配置文件
- javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)
- 前端打包成桌面应用、以及chrome扩展
- Linux驱动模块编译模板
- 设计模式总结篇系列:适配器模式(Adapter)
- VS 2015 GIT操作使用说明
- Java多线程概念简介 多线程中篇(一)
- springboot情操陶冶-jmx解析