Адрес привязки - это локальный адрес для прослушивания; Вы можете указать адрес локального интерфейса.
Если вы хотите контролировать, кто может подключаться, вы можете либо проверить адрес однорангового узла в цикле выбора / принятия, либо ограничить количество входящих подключений с помощью iptables.
Обновление
Если я скажу serv_addr.sin_addr.s_addr = inet_addr ("192.168.0.1") и
клиент с IP-адресом 192.168.0.2 пытается подключиться, будет прослушивать
Команда отклонить это? Я хочу иметь возможность иметь несколько потоков, каждый
обслуживание уникального IP-адреса.
Нет, адрес является адресом на локальной машине. Учитывая, что вы собираетесь использовать многопоточный дизайн, я бы порекомендовал вам запустить код прослушивания / принятия в одном потоке, проверить адрес клиента, решить, какой рабочий поток является подходящим, а затем создать его.
Рискуя указывать мой возраст, я все еще предпочитаю использовать прослушивание / принятие / выбор для большинства кодов сокетов - это личный вкус, и да, это влияет на дизайн, когда речь идет о блокирующем / неблокирующем вводе-выводе, буферизации и т. д.