Когда вы привязываете прослушивающий сокет к INADDR_ANY
, сокет прослушивает все доступные локальные IP-адреса. Невозможно определить по сокету, какие IP-адреса он прослушивает. Если вам нужна эта информация, то вам придется перечислять локальные IP-адреса отдельно (в этом случае вы можете просто bind()
каждый IP-адрес отдельно подключать к своему сокету, если вам нужно получить предварительно принятые данные привязки). Однако, как только accept()
вернет установленное клиентское соединение, вы можете использовать getsockname()
на принятом сокете, чтобы узнать, какой конкретный IP-адрес принял соединение.