检索有关SCTP关联的特定对等地址的信息

时间:2017-11-23 16:41:49

标签: c sctp

我试图

  

检索有关特定对等地址的信息   关联,包括其可达性状态,拥塞窗口,   和重传定时器值。   (RFC 6458, p. 82

使用此客户端代码段:

struct sctp_paddrinfo status;    
socklen_t opt_len = (socklen_t)sizeof(status);
if (usrsctp_getsockopt(sock, IPPROTO_SCTP, SCTP_GET_PEER_ADDR_INFO, &status, &opt_len) < 0) {
     perror("getsockopt");                       
}

sock是当前套接字描述符。 调用此函数(连接到echo_server时)会出现此错误:

  

getsockopt:没有这样的文件或目录

[是的,我正在使用usrsctp,但我预计 sctp 会出现类似错误。]

我做错了什么?或者

usrsctp_getsockopt获取信息的正确用法是什么(例如 RTO MTU 等)?

1 个答案:

答案 0 :(得分:0)

您必须在status.spinfo_address

中提供实际地址
struct sockaddr_storage peer_address;
struct sockaddr_in *sin; 

memcpy(&peer_address, sin, sizeof(struct sockaddr_in));  
...
status.spinfo_address = peer_address;