如何从接收到的SCTP消息的struct sctp_rcvinfo
中检索更多信息(如RTO、MTU和SRTT)?
每次SCTP消息通过等回调函数被发现和处理时
static int
receive_cb(struct socket *sock, union sctp_sockstore addr, void *data,
size_t datalen, struct sctp_rcvinfo rcv, int flags, void *ulp_info)
{...
CCD_ 3中填充了这些附加信息(我想)。
你可以在这里找到一个示例客户。
但我需要将转换为类似的数据
struct sctp_paddrinfo moreInfo; moreInfo.spinfo_rto
。。等等
你怎么能做到这一点?
RTO、MTU和SRTT不属于SCTP消息。端点不交换此信息。每一方都计算自己的SRTT和RTO,并拥有自己的MTU。
从您的端点,您无法获得另一方拥有的有关SRTT、RTO和MTU的信息。
您方对对等方的SRTT、RTO和MTU值可以在sctp_info结构中找到。
您可以通过以下API调用获取此结构:
int sctp_get_sctp_info(struct sock *sk, struct sctp_association *asoc,
struct sctp_info *info);
参见sctp.h 中sctp_get_sctp_info的定义