?? bind_ubcast.c
字號:
#include "sntp.h"voidbind_ubcast(struct sockaddr *sabind, socklen_t salen, int port, int alias, int bcast){ int i, fd; /* 4first see if we've already bound this address */ for (i = 0; i < naddrs; i++) { if (sock_cmp_addr(addrs[i].addr_sa, sabind, salen) == 0) return; } fd = Socket(sabind->sa_family, SOCK_DGRAM, 0); sock_set_port(sabind, salen, port); Setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); printf("binding %s\n", Sock_ntop(sabind, salen)); if (bind(fd, sabind, salen) < 0) { if (errno == EADDRINUSE) { printf(" (address already in use)\n"); close(fd); return; } else err_sys("bind error"); } addrs[naddrs].addr_sa = sabind; /* save ptr to sockaddr{} */ addrs[naddrs].addr_salen = salen; addrs[naddrs].addr_fd = fd; if (bcast) addrs[naddrs].addr_flags = ADDR_BCAST; naddrs++;}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -