diff --git a/speedtest/server.js b/server.js
similarity index 91%
rename from speedtest/server.js
rename to server.js
index bf00cac..2aebeaa 100644
--- a/speedtest/server.js
+++ b/server.js
@@ -1,5 +1,5 @@
var Connect = require('connect');
-var spacesocket = require('../lib/spacesocket');
+var spacesocket = require('./lib/spacesocket');
var dummyData = '';
for(var i = 0; i < 1024; i++)
@@ -7,7 +7,7 @@ for(var i = 0; i < 1024; i++)
var server = Connect.createServer(
Connect.logger(),
- Connect.staticProvider(__dirname),
+ Connect.staticProvider(__dirname + '/speedtest'),
Connect.errorHandler({ dumpExceptions: true, showStack: true })
);
var port = parseInt(process.env.PORT, 10) || 8000;
diff --git a/speedtest/client.js b/speedtest/client.js
index 92e38cc..6dfd4b1 100644
--- a/speedtest/client.js
+++ b/speedtest/client.js
@@ -117,10 +117,10 @@ Download.prototype.onMessage = function(msg) {
this.textUpdate = setTimeout(function() {
delete that.textUpdate;
- var elapsed = Math.min(that.lastMessage - that.startTime, 1);
+ var elapsed = Math.max(that.lastMessage - that.startTime, 1);
$('#download').empty();
$('#download').append('avg: ' +
- human(that.bytesRecvd * 1000 / (elapsed)) + 'B/s
' +
+ human(that.bytesRecvd * 1000 / elapsed) + 'B/s
' +
human(that.bytesRecvd) + 'B in ' + elapsed +
' ms');
}, 100);
@@ -182,9 +182,16 @@ function runTest(t, cb) {
var ws = new WebSocket(url, t.proto);
var test = new t(ws);
+ var startTimer = function() {
+ setTimeout(function() {
+ test.onDone();
+ }, getDuration() * 1000);
+ };
+
ws.onopen = function() {
console.log('open');
test.onOpen();
+ startTimer();
};
ws.onmessage = function(ev) {
test.onMessage(ev.data);
@@ -195,12 +202,8 @@ function runTest(t, cb) {
};
ws.onerror = function(e) {
console.error(e);
- test.onError(e);
+ cb();
};
-
- setTimeout(function() {
- test.onDone();
- }, getDuration() * 1000);
}
if (!WebSocket) {