())完成下面的struct语句,它是RTP报文段的说明语句。 struct RTP PDU{ uns igned short VerPXCc;
时间: 2024-03-01 07:55:29 浏览: 80
好的,我明白了。下面是完整的 struct 语句:
```
struct RTP_PDU {
unsigned short VerPXCc;
unsigned short M_PT;
unsigned short Sequence_number;
unsigned int Timestamp;
unsigned int SSRC;
unsigned char Payload[1];
};
```
在 RTP 报文段中,VerPXCc 字段表示协议版本号、填充位、扩展位和 CSRC 计数器。M_PT 字段表示标记位和有效载荷类型。Sequence_number 字段是 RTP 报文段的序列号,用于保证传输的顺序。Timestamp 字段是表示报文段时间戳的 32 位数字。SSRC 字段是同步源标识符,用于标识发送 RTP 报文段的源。Payload 字段是有效载荷数据。
相关问题
())完成下面的struct语句,它是RTCP报文段的说明语句。 struct RTP PDU{ uns igned short VerPXCc;
抱歉,我之前的回答有误,这是关于 RTCP 报文段的说明语句,而不是 RTP 报文段。下面是正确的 struct 语句:
```
struct RTCP_PDU {
unsigned char Version:2; // 协议版本号
unsigned char Padding:1; // 填充位
unsigned char Reception:5; // 接收者报告计数器
unsigned char Packet_Type; // 报文类型
unsigned short Length; // 报文长度
union {
struct Sender_Report {
unsigned int SSRC;
unsigned int NTP_Timestamp_High;
unsigned int NTP_Timestamp_Low;
unsigned int RTP_Timestamp;
unsigned int Sender_Packet_Count;
unsigned int Sender_Octet_Count;
} SR;
struct Receiver_Report {
unsigned int SSRC;
unsigned char Fraction_Lost;
unsigned char Cumulative_Lost[3];
unsigned int Extended_High_Sequence_Number;
unsigned int Interarrival_Jitter;
unsigned int Last_Sender_Report;
unsigned int Delay_Since_Last_Sender_Report;
} RR;
struct Source_Description {
unsigned int SSRC;
struct SDES_Item {
unsigned char Type;
unsigned char Length;
char Value[1];
} SDES_Items[1];
} SDES;
struct Goodbye {
unsigned int SSRC[1];
unsigned char Length;
char Reason[1];
} GB;
} P;
};
```
在 RTCP 报文段中,Version 字段表示协议版本号,Padding 字段表示填充位。Reception 字段表示接收者报告计数器,Packet_Type 字段表示报文类型,Length 字段表示报文长度。P 字段是一个联合体,用于存储不同类型的 RTCP 报文段。SR 表示发送者报告,RR 表示接收者报告,SDES 表示源描述,GB 表示告别。每个报文段的具体内容不同,需要根据具体情况解析。
阅读全文