2012-04-25 8 views
2

次のコードでは、read()が呼び出されるたびに、close()が呼び出されるまで、または再作成されるまで、リモートサーバーへの接続が開いていますか?次のコードでは、が呼び出されるとすぐにリモートファイルがバッファされるのではなく、read()が呼び出されるたびに新しいネットワーク通信が行われることがわかります。urllib2.urlopen()によって作成されるオブジェクトは、定数接続を表しますか?

import urllib2 

handle = urllib2.urlopen('http://download.thinkbroadband.com/5MB.zip') 
while True: 
    buff = handle.read(64*1024) # Is a new connection to the server created here? 
    if len(x) == 0: 
     break 
handle.close() 
+2

いいえ、1つの接続のみが存在します。接続を調べるのにどんなツールを使用していますか? netstat? –

答えて

0

wiresharkまたはfiddlerを実行して、何も実行しないでポート80を調べてみてください。あなたのプログラムを実行して、どんなトラフィックを得るかを見てください。あなたの質問に答えてください。

関連する問題