如何从SCTP消息中检索(RTO-,MTU-和SRTT-)信息?

时间:2017-11-15 16:25:05

标签: c client protocols sctp

如何从收到的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 ..等等。

你怎么能做到这一点?

1 个答案:

答案 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

中sctp_get_sctp_info的定义