UDP ------ UDP IPPROTO_UDPLITE 参数

介绍

传统的 UDP 通信对整个报文进行校验

UDP-LITE 通信则可以设置校验的长度,适用于可以接受轻微的报文内容出错,比如视频数据;传统的 UDP 由于对整个报文校验,一旦出现报文数据出错就会被检查出来,然后整个报文被丢弃。

使用方法如下

首先创建一个socket:

udp_socket = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDPLITE);

如果没有其他关于 IPPROTO_UDPLITE 的设置,和 IPPROTO_UDP 无异,只是协议标识不一样。

使用 setsockopt() 设置 UDPLITE_SEND_CSCOV 选项,设置发送的报文中,对多少数据进行校验

使用 setsockopt() 设置 UDPLITE_RECV_CSCOV 选项,这个选项的功能是设置一个报文过滤器,如果接收到的报文的校验的数据量少于 UDPLITE_RECV_CSCOV 设置的,报文将被丢弃。

原文地址:https://www.cnblogs.com/god-of-death/p/8043767.html