255.255.255.255,指代本網絡上所有主機。默認情況下 Socket 禁止發送廣播,必須調用 setsockopt 設置 SO_BROADCAST 選項:
BOOL bOptVal = TRUE;
int bOptLen = sizeof(BOOL);
setsockopt(s, SOL_SOCKET, SO_BROADCAST, (char*)&bOptVal, bOptLen);
socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP))。setsockopt 開啟廣播屬性。sockaddr_in,sin_addr.s_addr = INADDR_BROADCAST (即 255.255.255.255)。sendto 發送數據,數據包將發送給子網內所有監聽該端口的主機。setsockopt 導致 sendto 返回 WSAEACCES 錯誤。SO_BINDTODEVICE 或指定源 IP)。