资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
视频信息处理实验2,UDP模块,关于UDP的一些基本知识,UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。,关于UDP的基本知识UDP首部,关于UDP的基本知识UDP伪首部,UDP模块实验目的、内容,实验目的:深入了解UDP模块原理 实验内容: 实验内容(1)创建一头文件,包括C语言实现UDP模块所需的所有常量。用#define语句。 实验代码如下:,UDP模块,header.h /*定义多播常量*/ #define MCASTADDR 224.3.5.8 #define MCASTPORT 25000 #define BUFSIZE 1024 #define MCOUNT 10 /*定义广播常量*/ #define BCSTPORT 5050 #define BCOUNT 10,UDP模块实验内容,实验内容(2)完成下面的struct语句,它是UDP首部的说明语句。 实验代码如下:UDP头结构体 typedef struct _UDPHeader USHORT sourcePort; / 16位源端口号 | Source port USHORT destinationPort; / 16位目的端口号 | Destination port USHORT len; / 16位封包长度 | Sequence Number USHORT checksum; / 16位校验和 | Acknowledgement number UDPHeader;,UDP模块实验内容,实验内容(3)完成下面的struct语句,它是UDP报文的说明语句。 代码如下: struct UDP_Packet struct UDP_Header udpHeader;char FrameHead4; /帧头 DWORD DataPackageLen; /帧长度 char * Buf; /缓冲区数据 char FrameTail4; /帧尾 UDPData;,UDP模块实验内容,实验内容(4)写出检验和函数。它接受指向UDP分组的指针和指向相应的IP首部的指针。这个函 数计算并返回使用伪首部的UDP检验和的值。 代码如下: #define UDP_ALEN 4 struct udphdr *pUdphdr = (struct udphdr *)(char *)pIp + TTPS_IP_HEAD_LEN); WORD* pUs = NULL; DWORD ulCheckSum = 0; int iLen = 0; int i = 0; iLen = ntohs(pUdphdr-uh_ulen);,UDP模块实验内容,ulCheckSum = 0; pUs = (unsigned short *),UDP模块实验存在的问题及思考,在实验过程中我们理解的UDP报文是指UDP报文除开首部的应用数据,但后来发现struct UDP_Packet语句中包含了UDP头部语句,才知道这里说的UDP报文应该是指整个报文,包括了它的首部。,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号