Depois de conectar o soquete, você pode chamar getsockname
para descobrir o endereço IP local.
Como encontrar o endereço IP padrão se eu estiver conectado a mais de uma rede? Eu encontrei um link
Mas em "Envio de PDUs da camada de rede" Está escrito que
PacketSender sender;
IP pkt = IP ("192.168.0.1") / TCP (22) / RawPDU ("foo"); remetente.send (pkt);
Observe que nenhum endereço de origem foi especificado no construtor IP. Isso usa por padrão o endereço 0.0.0.0. No entanto, ao enviar PDUs da camada de rede, se o endereço de origem for 0.0.0.0, a PDU realizará uma pesquisa na tabela de roteamento para descobrir qual deve ser o endereço de origem e a definirá automaticamente.
Então, existe alguma maneira de encontrar o endereço de origem usando c ++?
Depois de conectar o soquete, você pode chamar getsockname
para descobrir o endereço IP local.
Tags networking socket