0

Es ist ein GUI-Programm Ich schrieb in Python Website/Server-Status auf meinem XP SP3 überprüfen, Multi-Threads werden verwendet, um verschiedene Website/Server zu überprüfen. Nach mehreren Stunden läuft das Programm ab und der URLLOFF-Fehler wird ständig überschritten, und das passiert immer direkt nach einer POST-Anfrage von einem Server (nicht einer bestimmten, könnte A oder B oder C sein), und es ist auch nicht der Die erste POST-Anfrage, die das Problem verursacht, normalerweise nach mehreren Stunden Laufzeit und es passiert, dass eine POST-Anfrage zu einem unbekannten Zeitpunkt gemacht wird. Alles, was Sie von da an bekommen, ist der Zeitlimit für den URL-Fehler.Ping möglich, aber kann nicht nach mehreren Stunden laufen von meinem Python-Programm

Ich bin immer noch in der Lage zu pingen, kann aber keine Website durchsuchen, sobald das Programm geschlossen ist alles in Ordnung. Es ist definitiv das Programm, das dieses Problem verursacht, ich weiß einfach nicht, wie man das Problem debuggt/prüft, weiß auch nicht, ob es von der Betriebssystemseite oder von meinem Programm ist, das zu viele Ressourcen/Verbindungen verschwendet Ping, wenn zu viele Verbindungen benutzt werden?), würde mir bitte jemand helfen?

+0

Wie andere bezüglich Ihrer anderen verwandten Fragen vorgeschlagen haben: Versuchen Sie Ihr Skript auf einem anderen Computer, auf dem entweder das gleiche oder ein anderes Betriebssystem (oder eine Version davon) läuft. – martineau

Antwort

3

Sind Sie sicher, dass Sie TCP-Sitzungen nach jeder Anfrage schließen? Versuchen Sie, von Zeit zu Zeit die netstat-Informationen zu überprüfen, und wenn Sie sehen, dass die Anzahl der aktiven/eingerichteten Sitzungen ansteigt, bedeutet dies, dass Sie einige Probleme in Ihrem Skript haben.

Ja, normalerweise können Sie auch pingen, wenn Sie keine freien TCP-Sockets mehr haben.

+0

Vielen Dank Mann! Ich würde zwar 'del' würde den Connection-Close-Job machen, aber das tut es wirklich nicht. Mit netstat habe ich viele "Close_Wait" Verbindungen gefunden, die alle Ressourcen verschwenden. Nachdem Sie den Code in '.close()' geändert haben, ist jetzt alles in Ordnung. – Shane

+0

@Shane: Ich bin froh, dass Sie Ihr Problem gefunden haben. Ich würde vorschlagen, Wireshark-Netzwerkanalysator zu verwenden, um Netzwerkprobleme auch herauszufinden. Viel Glück ;) – Elalfer