1·广播和多播要求用于UDP或原始IP,它们不能用于TCP。
2·单播IP数据报仅由通过目的IP地址指定的单个主机接收。
3·广播分组去往子网上的所以主机,包括发送主机本身。
4·(一般)除非显式告诉内核我们准备发送广播数据报,否则系统不允许我们这么做。
const int on = 1;
setsockopt(sockfd, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on));
5·解决竞争状态:
a.使用pselect(阻塞信号)
b.使用sigsetjmp和siglongjmp(避免使用)
c.使用从信号处理函数到主循环的IPC(管道等)