{
printf("bind failed for:%s\n",strerror(errno));
exit(1);

}
        memset(&evnts,0, sizeof(evnts));
        evnts.sctp_data_io_event = 1;
        if(setsockopt(sock_fd, IPPROTO_SCTP, SCTP_EVENTS,
                   &evnts, sizeof(evnts))<0)
{
printf("setsockopt failed for:%s\n",strerror(errno));
exit(1);
}

        if(listen(sock_fd, 7)<0)
{
printf("listen failed for:%s\n",strerror(errno));
exit(1);
}
        for (;;) {
                len = sizeof(struct sockaddr_in);
                rd_sz = sctp_recvmsg(sock_fd, readbuf, sizeof(readbuf),
                                     (SA *) & cliaddr, &len,
                                     &sri, &msg_flags);
if(rd_sz<=0)
{
        printf("sctp_failed: %d:%s\n",errno, strerror(errno));
continue;
}

readbuf[rd_sz]=0;
printf("received:%s:length=%d\n",readbuf,rd_sz);
                sctp_sendmsg(sock_fd, readbuf, rd_sz,
                             (SA *) & cliaddr, len,
                             sri.sinfo_ppid,
                             sri.sinfo_flags,
                             sri.sinfo_stream,
                     0, 0);
        }
}
-- 
This message posted from opensolaris.org
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to