0

これは、Pythonで作成したGUIプログラムであり、XP SP3で実行されているWebサイト/サーバーのステータスをチェックします。マルチスレッドは、さまざまなサイト/サーバーをチェックするために使用されます。数時間実行すると、プログラムは常にurlopenエラーをタイムアウトし始めます。これは、サーバーからのPOSTリクエスト(特定のサーバーではなく、A、B、Cの可能性があります)の直後に常に発生します。問題を引き起こしている最初のPOSTリクエスト。通常、数時間実行した後、不明な時点でPOSTリクエストが発生します。それ以降は、urlopenエラーがタイムアウトするだけです。

プログラムが正常に終了すると、pingは実行できますが、サイトを参照できません。それは間違いなくこの問題を引き起こしているプログラムです、まあ私は問題が何であるかをデバッグ/チェックする方法がわかりません、またそれがOS側からのものか私のプログラムがあまりにも多くのリソース/接続を浪費しているのかわかりません(あなたはまだできますか?使用されている接続が多すぎる場合にpingを実行しますか?)、誰か助けてくれませんか?

4

1 に答える 1

3

各リクエストの後にTCPセッションを閉じてもよろしいですか?時々netstat情報をチェックしてみてください。アクティブな/確立されたセッションの数が増えていることがわかる場合は、スクリプトに問題があることを意味します。

はい、通常、空きTCPソケットが不足している場合でもpingを実行できます。

于 2011-01-15T02:48:56.090 に答える