9.20. setsockopt(), getsockopt()
Last updated
int optval;
int optlen;
char *optval2;
// 表示對 socket 設定 SO_REUSEADDR(1) 是 true:
optval = 1;
setsockopt(s1, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof optval);
// 將 socket 綁定(bind)到一個裝置名稱(可能不是每個系統都有效果):
optval2 = "eth1"; // 4 bytes long, so 4, below:
setsockopt(s2, SOL_SOCKET, SO_BINDTODEVICE, optval2, 4);
// 檢測是否有設定 SO_BROADCAST flag:
getsockopt(s3, SOL_SOCKET, SO_BROADCAST, &optval, &optlen);
if (optval != 0) {
print("SO_BROADCAST enabled on s3!\n");
}