Wie sende ich ein UDP-Paket von einer spezifisch Schnittstelle auf Linux mit C? Sollte ich bind verwenden? Ist es möglich, UDP von einer Schnittstelle zu senden, die keine IP-Adresse hat?
Danke.
Wie sende ich ein UDP-Paket von einer spezifisch Schnittstelle auf Linux mit C? Sollte ich bind verwenden? Ist es möglich, UDP von einer Schnittstelle zu senden, die keine IP-Adresse hat?
Danke.
Sie können einen Socket an eine bestimmte Schnittstelle binden, indem Sie die SO_BINDTODEVICE
Socket-Option, allerdings sind dafür Root-Rechte erforderlich.
Alternativ können Sie auch die IP_PKTINFO
und die Option sendmsg
für das Senden, die Einstellung der in_pktinfo
's ipi_ifindex
auf den Index Ihrer Schnittstelle.
Sie müssen die Socket-Option IP_MULTICAST_IF verwenden.
Siehe hier: Multicast-HOWTO-6.html
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.