,针对RTSP 协议的报文结构,使用面向流数据结构的格式定义了RTSP 协
议的报文:
struct stream_data{
u_long session_id; //会话标识ID
stream_data *stream; //指向下一数据结构指针
u_short UDP_port; //传输数据的UDP 端口
int output_fd; //传出的流文件描述符
struct sockaddr_in dest; //目的地址
int input_fd; //传入的流文件描述符
struct sockaddr_in source; //源地址
int rate; //传输速率
int pktsize; //数据包大小
int seq; //数据包序列号
int next_event_time; //下一事件时间
u_char payload_type; //有效负载类型
u_long ssrc; //同步源
};
在 RTSP 协议中定义了统一资源定位器URL 的数据结构格式:
struct url_data{
int version; //协议版本
char urlpath[1024]; //url 路径
char realpath[1024]; //实际路径
long filelength; //访问数据文件长度
int payload_type; //有效负载数据类型
int max_pksize; //最大数据包大小
struct sockaddr_in multicast_ad; //多点广播地址
};
服务器端和客户端机顶盒的连接成功建立后,服务器端处理交互信息,在传输数据的同
时,双方使用RTSP 定义的功能协议报文,对数据传输进行控制,交互信息等操作。下面的
程序为服务器端对协议定义功能报文的处理。