Wenn ich einen Socket an INADDR_ANY binde, weiß ich, dass er eingehende Verbindungen auf allen IPs akzeptiert, die auf dem Server konfiguriert sind. Nehmen wir an, ich habe 1 IP konfiguriert, wenn ich den Aufruf bind () mache und dann eine neue IP konfiguriert wird. Wird bind () auch Verbindungen akzeptieren, die zu der neu konfigurierten IP initiiert wurden, oder funktioniert es nur für die IPs, die existierten, als bind () aufgerufen wurde?
Unter Linux, wenn Sie an INADDR_ANY
binden, bleibt der Socket an 0.0.0.0
gebunden und akzeptiert die Verbindung zu jeder lokalen IP-Adresse, egal wie sich diese ändert. Nur wenn eine TCP-Verbindung hergestellt wird, ist die einzelne Verbindung an die IP-Adresse gebunden, an der sie empfangen wurde. Andere Verbindungen können weiterhin unter einer beliebigen Adresse empfangen werden.