📄 main.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -