int SCTPSock = socket(PF_INET, SOCK_SEQPACKET, IPPROTO_SCTP); //set sctp initial options sctp_initmsg tSCTPInitMsg; memset(&tSCTPInitMsg, 0, sizeof(tSCTPInitMsg)); tSCTPInitMsg.sinit_num_ostreams = 10; tSCTPInitMsg.sinit_max_instreams = 20; int nRet = setsockopt(SCTPSock, SOL_SCTP, SCTP_INITMSG, &tSCTPInitMsg, sizeof(tSCTPInitMsg)); //tell SCTP to provide information about the data messages //being sent across the SCTP association sctp_event_subscribe tSCTPSubscribe; memset(&tSCTPSubscribe, 0, sizeof(tSCTPSubscribe)); tSCTPSubscribe.sctp_data_io_event = 1; tSCTPSubscribe.sctp_send_failure_event = 1; nRet = setsockopt(SCTPSock, SOL_SCTP, SCTP_EVENTS, &tSCTPSubscribe, sizeof(tSCTPSubscribe));
Example 1: SCTP_INITMSG and SUBSCRIBE_EVENT. This figure demonstrates how to set the number of virtual streams for an SCTP association.