Wenn Sie eine HTTPWebRequest -Anforderung an den Webdienst senden, können Sie auf einen Fehler stoßen: "Eine Verbindung kann nicht hergestellt werden, da der Zielcomputer sie aktiv abgelehnt hat." Diese Fehlermeldung kann verwirrend sein, aber das Verständnis der Grundursache hilft Ihnen dabei, den Fehler effektiv zu beseitigen und das Problem zu lösen.
Kontinuierliche Ablehnung: Zeigt an, dass der Servernicht angehört hat
Wenn der Fehler fortgesetzt wird, bedeutet dies normalerweise, dass der Zielcomputer nicht vorhanden ist oder dass der angegebene Port keinen Dienst gibt. In diesem Fall müssen Sie überprüfen, ob der Computer zugänglich sein kann und ob der richtige Port verwendet wird. Alternativ kann die Firewall den Verbindungsversuch verhindern, Sie müssen ihre Einstellungen anpassen oder vorübergehend deaktivieren. intermittierende Abstoßung: Das Rückstandsproblem
Wenn der Fehler jedoch intermittierend ist und die Anforderung erfolgreich ist, kann er den Rückstand des Servers angeben. Wenn der Server eine große Anzahl von Verbindungsanforderungen empfängt, werden er in einer begrenzten Warteschlange oder einem Backlog gespeichert. Wenn der Rückstand voll ist, kann die neue Anfrage nicht ausgerichtet werden und werden abgelehnt, wodurch der Fehler "Nicht in der Lage ist, eine Verbindung herzustellen".
Um dieses Problem zu lösen, erwägen Sie während der Hörfunktion den Rückstandparameter des Servers hinzuzufügen. Dieser Parameter steuert die maximale Größe der Backlog -Warteschlange. Durch die Erweiterung seiner Kapazität können Sie sicherstellen, dass Sie mehr Anfragen anstellen können, bevor Sie abgelehnt werden.
Andere Vorsichtsmaßnahmen
Zusätzlich zum Rückstandproblem verursacht die starke Behandlung der Sockelzeit auch diesen Fehler. Wenn Sie auf separate Arbeitsthreads übertragen werden, können Sie die Effizienz verbessern und die Möglichkeit von Warteschlangenanforderungen verringern.
addieren Sie außerdem unbedingt die Wiederholungslogik zum Client -Code, um sich mit solchen Situationen zu befassen. Auch wenn der Rückstand erweitert wurde, kann der Server eine hohe Zeitverkehrszeit durchlaufen, sodass der Wiederholungsmechanismus realisiert werden muss, um automatisch zu versuchen, eine Verbindung herzustellen. In wenigen Fällen können NAT -Router mit einem vollständigen Zuordnungsport diesen Fehler verursachen. Da die meisten Router jedoch etwa 64.000 derselben Zieladresse und gleichzeitig an Ports unterstützen, ist diese Möglichkeit normalerweise nicht viel.
Das obige ist der detaillierte Inhalt vonWarum fehlschlägt mein httpwebRequest mit 'Keine Verbindung könnte hergestellt werden, weil die Zielmaschine es aktiv abgelehnt hat'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!