{
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