sctpclient02.c

来自「unix网络编程第一卷socket编程书上的全部源代码」· C语言 代码 · 共 45 行

C
45
字号
#include	"unp.h"intmain(int argc, char **argv){	int sock_fd;	struct sockaddr_in servaddr;	struct sctp_event_subscribe evnts;	int echo_to_all=0;	char byemsg[10];	if(argc < 2)		err_quit("Missing host argument - use '%s host [echo]'\n",		       argv[0]);	if(argc > 2) {		printf("Echoing messages to all streams\n");		echo_to_all = 1;	}        sock_fd = Socket(AF_INET, SOCK_SEQPACKET, IPPROTO_SCTP);	bzero(&servaddr, sizeof(servaddr));	servaddr.sin_family = AF_INET;	servaddr.sin_addr.s_addr = htonl(INADDR_ANY);	servaddr.sin_port = htons(SERV_PORT);	Inet_pton(AF_INET, argv[1], &servaddr.sin_addr);	bzero(&evnts, sizeof(evnts));	evnts.sctp_data_io_event = 1;	Setsockopt(sock_fd,IPPROTO_SCTP, SCTP_EVENTS,		   &evnts, sizeof(evnts));/* include modified_client02 */	if(echo_to_all == 0)		sctpstr_cli(stdin,sock_fd,(SA *)&servaddr,sizeof(servaddr));	else		sctpstr_cli_echoall(stdin,sock_fd,(SA *)&servaddr,sizeof(servaddr));	strcpy(byemsg,"goodbye");	Sctp_sendmsg(sock_fd, byemsg, strlen(byemsg), 		     (SA *)&servaddr, sizeof(servaddr), 		     0,		     MSG_ABORT,		     0, 0, 0);	Close(sock_fd);/* end modified_client02 */	return(0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?