On Dec 4, 2011, at 3:42 AM, jyl_2006 wrote: > Sorry.The return value is -1, that means sctp_getladdrs() and > sctp_getpaddrs() encounter an error. And the errno is set to ENOMEM. Can you provide a test program showing this?
I changed your client and this works on a FreeBSD head system. Does it fail on your? Best regards Michael #include <sys/errno.h> #include <stdio.h> #include <string.h> #include <netinet/in.h> #include <netinet/sctp.h> #include <sys/types.h> #include <sys/socket.h> #define PORT 63000 int main() { int _sctp_socket, ret; sctp_assoc_t _sctp_associd; struct sockaddr *show_ip_address = NULL; _sctp_socket = socket( AF_INET , SOCK_SEQPACKET , IPPROTO_SCTP ); struct sockaddr_in server_ipaddress; server_ipaddress . sin_family = AF_INET; server_ipaddress . sin_port = htons(PORT); server_ipaddress . sin_len = sizeof(struct sockaddr_in); server_ipaddress . sin_addr.s_addr = inet_addr("127.0.0.1"); ret = sctp_connectx(_sctp_socket , (struct sockaddr*) &server_ipaddress , 1, &_sctp_associd); if( ret < 0) { printf("sctp_connectx error"); } ret = sctp_getladdrs(_sctp_socket, _sctp_associd, &show_ip_address); printf("sctp_getladdrs() returned %d.\n", ret); if (ret > 0) { sctp_freeladdrs(show_ip_address); } } > > -- > View this message in context: > http://freebsd.1045724.n5.nabble.com/the-return-value-of-sctp-connectx-do-not-match-any-error-tp5041952p5045598.html > Sent from the freebsd-net mailing list archive at Nabble.com. > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org" > _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"