2012-02-29 6 views
2

私はNodeJS echoサーバの基本的な例を使用し、増分カウンタ追加しました:NodeJSでホストされているページのインクリメンタルカウンタが更新時に変化するのはなぜですか?

var net = require('net') 
var server = net.createServer() 
var counter = 0 

server.on('connection', function(conn) { 
    console.log('Got a connection...')     // write to the console 
    conn.end('Hello client: ' + counter++ + '\n')  // write to the client 

conn.on('data', function(data) { 
    console.log('Data: ' + data)      // log output contains header details 
    }) 
}) 

server.listen(8089) 

ページのロードがローカルホストに移動することによって達成される:8089をブラウザ上で - 特別なクライアント側の接続コードまたは何かを。

最初のロード時には、カウントは0です。ページをリロードすると、カウントが2,3,4になることがあります。次のロード時に、カウントは2〜4の間で変化します。私は最初、私が使用していたポートがこれを引き起こしている他のプロセスによってpingされている可能性があると考えました。ポートを変更 - 同じ結果。

その番号に一致するログエコーが表示されています。

誰かがこれをなぜ説明できますか?

+0

特別なことはありません。 IP /ポートのブラウザ負荷だけ。 – ElHaix

+0

ええ、それはあなたがここで何が起こっているのか分からないことを証明します。 – jcolebrand

+0

ブラウザはどのようにTCPサーバーに接続できますか? :\ – Raynos

答えて

4

ほとんどの場合、ブラウザは/favicon.icoをリクエストしています。なぜあなたはサーバーを作成するために、httpライブラリではなく、より低いレベルのネットライブラリを使用しているのか不思議です。 httpサーバーを使用する場合、明示的に/favicon.icoリクエストを無視し、カウンターに影響しないようにすることができます。

+0

ベン。ありがとう。 NodeJSに入って、それを理解するだけです。 Telnet経由で接続するときに正常に動作します。 – ElHaix

関連する問題