in reply to Re: SCTP Protocol Support
in thread SCTP Protocol Support

I haven't worked much with SCTP -- nothing beyond toy programs.

Your code (in Re: SCTP Protocol Support) works for me using Strawberry 5.10 on XP including the setsockopt. My Linux box at home still has 5.8.7, and I get an error about SCTP not being supported. I can try the code on a more recent Linux distro with a more recent perl tomorrow at the office if I don't get around to upgrading at home tonight.

Update: I got your code to work on perl 5.10.0 and 5.8.7 on my Mandriva 2006.0 box by changing out the $proto as returned by getprotobyname for the constant IPPROTO_SCTP in the fourth argument position for socket as one would in C. I guess this particular system isn't up to getting the protocol by its name.

#socket( Server, AF_INET, SOCK_STREAM, $proto )|| die "Socket Failed: +$!"; socket( Server, AF_INET, SOCK_STREAM, IPPROTO_SCTP )|| die "Socket Fai +led: $!";

This is just a stab in the dark, but I remember seeing something somewhere about Perl's implementation of setsockopt not working on SCTP sockets. Searching on Google for "setsockopt Perl SCTP" to see if I could find any evidence, I found this Fedora ticket which says nothing on Fedora works with getsockopt or setsockopt for socket type SCTP, although the author of the bug report had no problems on Solaris with the same Perl source. Perhaps it's a rare Perl on Linux issue, or perhaps it's a distribution-specific issue in some distributions. Perhaps your Solaris on x86 has the same issue as Fedora, while Solaris on Sparc does not. It's hard to tell at this point.

I hope this helps at least somewhat. I haven't taken the time to really use it yet, but SCTP does look promising.