2016-11-13 5 views
3

Я пытаюсь понять групповой код, и я не понимаю, утилиты немного части:с апи гнездо SO_REUSEADDR

int fd_socket = socket(AF_INET, SOCK_DGRAM, 0); 
u_int yes = 1; 

setsockopt(fd_socket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)); 

Я не понимаю полезности функции setsockopt. Я понимаю, что эта функция позволяет модифицировать сокет в ядре, а SOL_SOCKET - потому что моя модификация касается уровня сокета, а не уровня протокола. Я не понимаю SO_REUSEADDR.

ответ

5

Для сокетов UDP установка параметра SO_REUSEADDR позволяет открывать несколько сокетов на одном и том же порту.

Если эти сокеты также соединены с группой многоадресной передачи, любой пакет многоадресной передачи, входящий в эту группу и порт, будет доставлен во все сокеты, открытые на этом порту.

+0

Спасибо за ваш ответ! – wammder

 Смежные вопросы

  • Нет связанных вопросов^_^