如何从收到的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)
{...
struct sctp_rcvinfo
充满了这些额外信息(我想)。
您可以找到example-client here。
但是我需要将转换为
这样的数据 struct sctp_paddrinfo moreInfo; moreInfo.spinfo_rto
..等等。
你怎么能做到这一点?
答案 0 :(得分:0)
RTO,MTU和SRTT不是SCTP消息的一部分。端点不会交换此信息。每一方都计算自己的SRTT和RTO,并拥有自己的MTU。
从您的终端,您无法获得有关另一方的SRTT,RTO和MTU的信息。
您的身边的SRTT,RTO和MTU值可以在sctp_info structure中找到。
您可以通过以下API调用获取此结构:
int sctp_get_sctp_info(struct sock *sk, struct sctp_association *asoc,
struct sctp_info *info);
请参阅sctp.h