Ich habe gerade angefangen, Informationen über Multicast-Übertragungen mit boost :: asio zu lesen, und ich bin etwas verwirrt über Folgendes:
Warum brauchen wir im folgenden boost :: asio Beispiel eine "Listening Address"? Was ist der Sinn davon? Warum sollte man etwas anderes als localhost wählen?
Wenn Sie zu Hause auf Ihrem Laptop arbeiten, ist Ihnen das wahrscheinlich egal. Das primäre Ziel ist normalerweise, alles mit allem zu verbinden, was es in Ihrer Maschine will, in diesem Fall localhost
ist in Ordnung.
High-End-Server andererseits haben in der Regel mehr als eine Netzwerkkarte . Noch besser, Hochleistungs-Netzwerkkarten haben oft mehr als einen physischen Stecker, und beide sind möglicherweise mit verschiedenen DHCP-Leases aktiv.
Server sind häufig auch Teil von öffentlichen und privaten Netzwerken , die möglicherweise ein VPN enthalten, das über eigene Subnetz- und Zugriffsparameter verfügt. Sysadmins denken viel über diese Adressen nach, und sie interessieren sich tief darüber, welche bestimmte Adresse für jeden Dienst verfügbar ist. Ist es ein privater Service? Gibt es ein nicht vertrauenswürdiges Subnetz, das diese Anforderungen nicht ausführen sollte?
Diese Fragen beziehen sich sowohl auf die Sicherheit und Systemorganisation . Es ist nicht spezifisch für Multicast: Der UNIX bind
Systemaufruf nimmt auch eine spezifische Adresse für alle über den Gründen.
Tags und Links c++ sockets boost boost-asio multicast