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

📄 dgechoprintroute.c

📁 unix网络编程第一卷socket编程书上的全部源代码
💻 C
字号:
#include	"unp.h"voiddg_echo(int sockfd, SA *pcliaddr, socklen_t clilen){	int				n;	char			mesg[MAXLINE];	int				on;	char			control[MAXLINE];	struct msghdr	msg;	struct cmsghdr	*cmsg;	struct iovec	iov[1];	on = 1;	Setsockopt(sockfd, IPPROTO_IPV6, IPV6_RECVRTHDR, &on, sizeof(on));	bzero(&msg, sizeof(msg));	iov[0].iov_base = mesg;	msg.msg_name = pcliaddr;	msg.msg_iov = iov;	msg.msg_iovlen = 1;	msg.msg_control = control;	for ( ; ; ) {		msg.msg_namelen = clilen;		msg.msg_controllen = sizeof(control);		iov[0].iov_len = MAXLINE;		n = Recvmsg(sockfd, &msg, 0);		for (cmsg = CMSG_FIRSTHDR(&msg); cmsg != NULL;			 cmsg = CMSG_NXTHDR(&msg, cmsg)) {			if (cmsg->cmsg_level == IPPROTO_IPV6 &&				cmsg->cmsg_type == IPV6_RTHDR) {				inet6_srcrt_print(CMSG_DATA(cmsg));				Inet6_rth_reverse(CMSG_DATA(cmsg), CMSG_DATA(cmsg));			}		}		iov[0].iov_len = n;		Sendmsg(sockfd, &msg, 0);	}}

⌨️ 快捷键说明

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