介绍
传统的 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 设置的,报文将被丢弃。