Ich habe mehrere Ethernet I/Fs. eth0, eth1, eth2 ... und ich möchte eine Verbindung zu einem externen Server herstellen, zB 1.2.3.4:80.vor dem Verbinden am Client-Code binden
Meine Verbindungen sind in Ordnung, aber unter bestimmten Umständen möchte ich als eth1 und nicht eth0 verbinden. Der Code des Servers überprüft die IP-Adresse meiner Schnittstelle. Ich denke, dass ich vor dem Verbinden binden muss. Ohne Bind (2) erhält der Server immer Pakete von eth0
Ich bin auf der Suche nach Code, der dieses Verhalten demonstriert. Hat jemand einen Link zu einem Beispiel?
Was ist der Unterschied zwischen Bind und SO_BINDTODEVICE? Warum bindet das Problem in meinem Fall nicht? – cateof
@cateof, 'bind (2)' bindet einen Socket an einen bestimmten Endpunkt (IP-Adresse und Port). Es hat keine Ahnung von "Netzwerkschnittstellen". Um einen Socket mit einer bestimmten Netzwerkschnittstelle zu verbinden, müssen Sie spezielle Funktionen aus dem Header ' 'verwenden. –