main.c

来自「关于linux 网络编程的一些代码 关于linux 网络编程的一些代码」· C语言 代码 · 共 46 行

C
46
字号
#include	"sntp.h"const int	on = 1;		/* for setsockopt() flags */intmain(int argc, char **argv){	int					sockfd, port;	socklen_t			salen;	struct ifi_info		*ifi;	struct sockaddr		*mcastsa, *wild;	if (argc != 2)		err_quit("usage: sntp <IPaddress>");	sockfd = Udp_client(argv[1], "ntp", (void **) &mcastsa, &salen);	port = sock_get_port(mcastsa, salen);	Close(sockfd);		/* 4obtain interface list and process each one */	for (ifi = Get_ifi_info(mcastsa->sa_family, 1); ifi != NULL;		 ifi = ifi->ifi_next) {		bind_ubcast(ifi->ifi_addr, salen, port,					ifi->ifi_myflags & IFI_ALIAS, 0);		/* unicast */		if (ifi->ifi_flags & IFF_BROADCAST)			bind_ubcast(ifi->ifi_brdaddr, salen, port,						ifi->ifi_myflags & IFI_ALIAS, 1);	/* bcast */#ifdef	MCAST		if (ifi->ifi_flags & IFF_MULTICAST)			bind_mcast(ifi->ifi_name, mcastsa, salen,					   ifi->ifi_myflags & IFI_ALIAS);		/* mcast */#endif	}	wild = Malloc(salen);	/* socket address struct for wildcard */	memcpy(wild, mcastsa, salen);	sock_set_wild(wild, salen);	bind_ubcast(wild, salen, port, 0, 0);	sntp_send();	/* send first queries */	read_loop();	/* never returns */}

⌨️ 快捷键说明

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