⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sctp_strcliecho2.c

📁 unix网络编程卷1:套接口API的全书源码
💻 C
字号:
#include	"unp.h"#define	SCTP_MAXLINE	800voidsctpstr_cli_echoall(FILE *fp, int sock_fd, struct sockaddr *to, socklen_t tolen){	struct sockaddr_in peeraddr;	struct sctp_sndrcvinfo sri;	char sendline[SCTP_MAXLINE], recvline[SCTP_MAXLINE];	socklen_t len;	int rd_sz,i,strsz;	int msg_flags;	bzero(sendline,sizeof(sendline));	bzero(&sri,sizeof(sri));	while (fgets(sendline, SCTP_MAXLINE - 9, fp) != NULL) {		strsz = strlen(sendline);		if(sendline[strsz-1] == '\n') {			sendline[strsz-1] = '\0';			strsz--;		}/* include modified_echo */		for(i=0;i<SERV_MAX_SCTP_STRM;i++) {			snprintf(sendline + strsz, sizeof(sendline) - strsz,				".msg.%d 1", i);			Sctp_sendmsg(sock_fd, sendline, sizeof(sendline), 				     to, tolen, 				     0, 0,				     i,				     0, 0);			snprintf(sendline + strsz, sizeof(sendline) - strsz,				".msg.%d 2", i);			Sctp_sendmsg(sock_fd, sendline, sizeof(sendline), 				     to, tolen, 				     0, 0,				     i,				     0, 0);		}		for(i=0;i<SERV_MAX_SCTP_STRM*2;i++) {			len = sizeof(peeraddr);/* end modified_echo */			rd_sz = Sctp_recvmsg(sock_fd, recvline, sizeof(recvline),				     (SA *)&peeraddr, &len,				     &sri,&msg_flags);			printf("From str:%d seq:%d (assoc:0x%x):",				sri.sinfo_stream,sri.sinfo_ssn,				(u_int)sri.sinfo_assoc_id);			printf("%.*s\n",rd_sz,recvline);		}	}}

⌨️ 快捷键说明

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