bind_mcast.c

来自「Unix网络编程 基于Socket的网络编程」· C语言 代码 · 共 30 行

C
30
字号
#include	"sntp.h"voidbind_mcast(const char *ifname, SA *mcastsa, socklen_t salen, int alias){#ifdef	MCAST	int				fd;	struct sockaddr	*msa;	if (alias)		return;		/* only one mcast join per interface */	printf("joining %s on %s\n", Sock_ntop_host(mcastsa, salen), ifname);	fd = Socket(mcastsa->sa_family, SOCK_DGRAM, 0);	Setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));	Bind(fd, mcastsa, salen);	Mcast_join(fd, mcastsa, salen, ifname, 0);	addrs[naddrs].addr_sa = mcastsa;	addrs[naddrs].addr_salen = salen;	addrs[naddrs].addr_ifname = ifname;	/* save pointer, not string copy */	addrs[naddrs].addr_fd = fd;	addrs[naddrs].addr_flags = ADDR_MCAST;	naddrs++;#endif}

⌨️ 快捷键说明

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