环境:linux centos7 、x86 、UDP包

使用sock需要增加头文件

#include <sys/socket.h>

#include <sys/types.h>

设置方法很简单,都是使用setsockopt函数,就是找资料及如何太麻烦,尤其是IPV6。需要注意IPV4设置的是IP_TOS,IPV6设置的是IPV6_TCLASS。

int setsockopt(int sockfd, int level, int optname,const void *optval, socklen_t optlen);

下面所说的U32DSCP均为真实dscp左移两位的值。

1.IPV4设置方法

建立sock后,调用setsockopt设置,注意level要设置为SOL_IP/IPPROTO_IP,optname为IP_TOS.

setsockopt(s32sockfd, SOL_IP,IP_TOS,&U32DSCP,sizeof(U32));

设置U32DSCP为112后, 抓包后结果如图:

2.IPV6设置方法

调用setsockopt设置,注意level要设置为IPPROTO_IPV6,optname为IPV6_TCLASS.

setsockopt(s32sockfd, IPPROTO_IPV6,IP_TCLASS,&U32DSCP,sizeof(U32));

设置U32DSCP为4后, 抓包后结果如图:

c语言socket设置IPV4/6的dscp值相关推荐

  1. C语言socket设置超时的几种方法

    https://blog.csdn.net/u011146511/article/details/56016266 https://blog.csdn.net/weixin_30306905/arti ...

  2. C语言socket getsockopt() setsockopt()函数(获取和设置套接口的选项?)(套接字级别SOL_SOCKET)

    文章目录 man 文档(越看越懵逼啊!) 解释 getsockopt()函数用于获取任意类型.任意状态套接口的选项当前值,并把结果存入optval. setsockopt()函数用于任意类型.任意状态 ...

  3. 如何设置IPv4和IPv6报文的DSCP值——网络测试仪实操

    一.操作说明 在QoS测试中,经常要设置不同优先级的报文,来验证被测设备对于优先级的调度.所以,我们就要了解如何设置IPv6和IPv6报文中的DSCP(大部分使用DSCP值,也会用到TOS值) 这里我 ...

  4. C语言socket connect()函数(初始化套接字上的连接)(未完)(如何测试socket是否已经断开,如何判断socket是否断开)

    参考文章:C网络编程socket之connect函数 需研究下这个函数超时多久才返回... 文章目录 项目中注释解释 man 2 文档解释 关于上面man 2 手册中所提到的connect()案例,在 ...

  5. c语言socket通讯和进行进行大文件分片传输

    c语言socket通讯和进行进行大文件分片传输 server端代码和client端代码 在windows上创建Cygwing工程11socket-server,创建完成后启动工程看不到效果,必须放到l ...

  6. C语言 socket编程实例

    C语言 socket编程实例 一. 面向连接的流式套接字 C/S 例子 二. 非阻塞的多人聊天服务器端例子 三. 简单的 IPv6 UDP socket编程 四.使用wireshark抓包分析tcp协 ...

  7. c语言soket编程,C语言socket编程使用方法

    C语言socket编程使用方法 C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.以 ...

  8. C语言socket accept()函数(提取出所监听套接字的等待连接队列中第一个连接请求,创建一个新的套接字,并返回指向该套接字的文件描述符)

    文章目录 名称 使用格式 功能参数描述 参数 sockfd addr addrlen 返回值 示例 man 2 文档中的accept解释 错误处理 名称 accept() 接收一个套接字中已建立的连接 ...

  9. Java语言Socket接口用法详解

    Socket接口用法详解   在Java中,基于TCP协议实现网络通信的类有两个,在客户端的Socket类和在服务器端的ServerSocket类,ServerSocket类的功能是建立一个Serve ...

最新文章

  1. .Net Core 3.0 gRPC部署问题解决
  2. 云计算技术 — OpenStack v.s. Kubernetes
  3. 教你一分钟内导出 Grafana 所有的 Dashboard
  4. 【简报】创建线框结构的PDF格式草图表
  5. 修复IE下列表 li 的阶梯Bug
  6. centos 5.6 x86 安装 文泉驿字体
  7. ATAPI(磁盘端口驱动)级文件保护简单实现
  8. ubuntu防火墙安装和设置-ufw
  9. 中国计算机学会推荐国际学术会议和期刊目录(2019,最新)
  10. 做明日达超市,美团电商这次能成吗?
  11. 受用一生的高效PyCharm使用技巧(三)
  12. Django应用容器封装DockerFile分享
  13. DeFi明斯基时刻:压力测试与启示
  14. IRremoteESP8266库 红外控制空调方法
  15. 旋钮编码器c代码_旋转编码器EC11驱动
  16. Docker Registry 私有镜像仓库批量清理镜像
  17. 软件工程复试——五、总体设计
  18. php视频播放链提取,php获取腾讯云点播上传视频后获取视频url地址以及时长 | 小灰灰博客...
  19. OrangeS操作系统笔记1_环境的配置与第一个系统
  20. java用浏览器下载文件_JAVA读取文件流,设置浏览器下载或直接预览操作

热门文章

  1. OAuth2实现方式
  2. mercury php,XAMPP配置Mercury 邮件服务器教程
  3. 电流的磁效应与电动机(马达/motor)实验
  4. 开源免费关系数据库模型建模工具
  5. iOS App 上架流程图文教学
  6. 数世咨询对话安全专家:全面剖析腾讯安全NDR技术实力与应用实践
  7. SpringBoot解决上述spring问题
  8. 公有云和私有云的区别 如何搭建云存储
  9. 爬虫 - requests
  10. 技术顾问转型应用顾问思路转变