В существующей сетевой библиотеке, над которой мне поручили работать, есть вызов setsockopt
, который я не понимаю.
Здесь вы можете увидеть начало создания сокета TCP:
[socket] fd(11) domain(2:AF_INET) type(1:SOCK_STREAM) protocol(0:default)
Сразу же после этого выполняется вызов setsockopt
для опции SO_BROADCAST
на уровне протокола IPPROTO_TCP
со значением опции 5
.
[setsockopt] fd(11) level(6:IPPROTO_TCP) option(6:SO_BROADCAST) ret(0) option:
0 0500 0000 ....
Согласно руководству Beej по работе в сети, этот "ничего не делает —НИЧЕГО!!—в сокеты потока TCP! Ха-ха-ха!"
Вопросы:
- Что именно они здесь делают?
- Есть ли в этом смысл?
- Во всяком случае, это должно быть
option_value=1
, так о чем же5
?