Piszę serwer TCP, który musi wiedzieć, z którego interfejsu pochodzi każde połączenie. Nie mogę użyć adresu/podsieci do określenia, który interfejs był używany, ponieważ mogą istnieć interfejsy o tych samych wartościach adres/podsieć. Jest oparty na systemie Linux i nie ma potrzeby, aby kod był przenośny.Jak mogę uzyskać nazwę interfejsu/indeks skojarzony z gniazdem TCP?
Wszystko, co mogłem znaleźć, to funkcje umożliwiające uzyskanie wszystkich interfejsów lub pojedynczy interfejs według indeksu. Nie mogłem znaleźć sposobu na połączenie interfejsu z akceptowanym gniazdem TCP.
Wszelkie pomysły? Coś, co przeoczyłem?
EDYCJA: Aby powtórzyć, adresy IP nie są unikalne w moim przypadku. Ani adresy docelowe (sam serwer), ani adresy źródłowe (klienci). Tak, jest to bardzo ekstremalny schemat IP.
tylko poprawna odpowiedź tutaj, biorąc pod uwagę, że szukasz kodu do dodania do twojego serwera, jest tą z User1. Przetestowałem to i działa - powinieneś to zaakceptować. Zobacz także http: // stackoverflow.com/questions/43659634/find-the-interface-used-by-a-connected-socket/43663713 # 43663713 – EML