我正在尝试
检索有关特定同伴地址的信息协会,包括其可达性状态,交通拥堵窗口,并重新传递定时器值。(RFC 6458,第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 等)?
您必须在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;