Нет способа узнать принимающий IP, когда один прослушивающий сокет привязан к нескольким IP. Вместо привязки одного сокета к INADDR_ANY
, вы можете запросить список локальных IP-адресов аппарата, используя GetAdaptersInfo()
и / или GetAdapterAddresses()
, а затем создать отдельный прослушивающий сокет для каждого IP. Вы можете использовать getsockname()
, чтобы узнать, к какому IP-адресу привязан данный сокет, но только когда этот сокет привязан к определенному IP-адресу, а не к нескольким IP-адресам.