我试图
检索有关特定对等地址的信息 关联,包括其可达性状态,拥塞窗口, 和重传定时器值。 (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 等)?
答案 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;