sctp_strcli1.c

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

C
42
字号
#include	"unp.h"voidsctpstr_cli(FILE *fp, int sock_fd, struct sockaddr *to, socklen_t tolen){	struct sockaddr_in peeraddr;	struct sctp_sndrcvinfo sri;	char sendline[MAXLINE], recvline[MAXLINE];	socklen_t len;	int out_sz,rd_sz;	int msg_flags;	bzero(&sri,sizeof(sri));	while (fgets(sendline, MAXLINE, fp) != NULL) {		if(sendline[0] != '[') {			printf("Error, line must be of the form '[streamnum]text'\n");			continue;		}		sri.sinfo_stream = strtol(&sendline[1],NULL,0);		out_sz = strlen(sendline);		Sctp_sendmsg(sock_fd, sendline, out_sz, 			     to, tolen, 			     0, 0,			     sri.sinfo_stream,			     0, 0);/* include mod_strcli1 */				do {			len = sizeof(peeraddr);			rd_sz = Sctp_recvmsg(sock_fd, recvline, sizeof(recvline),				     (SA *)&peeraddr, &len,				     &sri,&msg_flags);			if(msg_flags & MSG_NOTIFICATION)				check_notification(sock_fd,recvline,rd_sz);		} while (msg_flags & MSG_NOTIFICATION);		printf("From str:%d seq:%d (assoc:0x%x):",		       sri.sinfo_stream,sri.sinfo_ssn,		       (u_int)sri.sinfo_assoc_id);		printf("%.*s",rd_sz,recvline);/* end mod_strcli1 */			}}

⌨️ 快捷键说明

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