From 716c820e5b43f9dc26b87dfaafc7cf0ed33fd471 Mon Sep 17 00:00:00 2001 From: Alexey Kasyanchuk Date: Thu, 24 Aug 2017 09:26:03 +0300 Subject: [PATCH] =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=20?= =?UTF-8?q?=D1=82=D1=80=D0=B0=D1=84=D0=B8=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bt/client.js | 4 ++++ bt/spider.js | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/bt/client.js b/bt/client.js index f2904b6..8310d01 100644 --- a/bt/client.js +++ b/bt/client.js @@ -71,6 +71,10 @@ class Client extends Emiter socket.destroy(); }); + socket.on('data', (data) => { + this.emit('traffic', data.length); + }) + socket.on('timeout', (err) => { socket.destroy(); }); diff --git a/bt/spider.js b/bt/spider.js index 9fbdf37..a456a5c 100644 --- a/bt/spider.js +++ b/bt/spider.js @@ -44,6 +44,7 @@ class Spider extends Emiter { this.client = client this.ignore = false; // ignore all requests this.initialized = false; + this.traffic = 0; this.walkInterval = config.spider.walkInterval; this.cpuLimit = config.spider.cpuLimit; @@ -205,6 +206,7 @@ class Spider extends Emiter { }) this.udp.on('message', (data, addr) => { this.parse(data, addr) + this.traffic += data.length }) this.udp.on('error', (err) => {}) setInterval(() => { @@ -214,6 +216,14 @@ class Spider extends Emiter { }, 3000) this.join() this.walk() + setInterval(() => { + console.log(this.traffic / 1024, 'kb/s') + this.traffic = 0 + }, 1000) + if(this.client) + this.client.on('traffic', (traffic) => { + this.traffic += traffic + }) } }