я изучал программирование сокетов в unix, используя c/c++. Меня смущает один вызов функции bind(params..). На самом деле он принимает адресную структуру «sockaddr_in», и мы можем создать структуру следующим образом.
sockaddr_in.*** = somthing..
sockaddr_in..s_addr htonl(INADDR_ANY)
**Passing INADDR_ANY will alow to bind all local addresses**
Мой вопрос: зачем нам нужно использовать «INADDR_ANY»? Насколько мне известно, каждая машина может иметь только один уникальный IP-адрес. Таким образом, с машиной связан только один адрес. Вызов привязки должен напрямую привязывать сокет к единственному доступному адресу.
Пожалуйста, объясните, что это за разные сценарии и почему это так?