Skip to content

Server to Server Seems to Send Data Twice. #7

@ekristen

Description

@ekristen

I'm trying to use your library to do fast server to server file transfers. I've attempted to use your examples.

receiver.js

var io  = require('socket.io').listen(5001),
    dl  = require('delivery'),
    fs  = require('fs');

io.sockets.on('connection', function(socket){
  var delivery = dl.listen(socket);

  delivery.on('receive.success',function(file){
    fs.writeFile('./data2/' + file.name, file.buffer, function(err){
      if (err) {
        console.log('File could not be saved.', file.uid, file.name);
      } else {
        console.log('File saved.', file.uid, file.name);
      };
    });
  });
});

sender.js

var socket = require('socket.io-client')('http://0.0.0.0:5001');
var dl = require('delivery')
var fs = require('fs')
var async = require('async')

socket.on('connect', function(){
  var delivery = dl.listen(socket);
  delivery.connect()

  console.log('----connected----')

  delivery.on('delivery.connect',function(delsocket){
    console.log('delivery connected')

    delsocket.on('send.success',function(fileUID){
      console.log("file was successfully sent.", fileUID);
    });

    fs.readdir('./data1', function(err, files) {
      async.eachSeries(files, function(f, cb) {
        console.log('called', f)
        delivery.send({
          name: f,
          path: './data1/' + f
        })
        cb()
      })
    })
  });

});

It seems that the loop only does a "delivery.send" once per file, but the send.success triggers twice per file. I've tried listening on the overall delivery for send.success but also on the delivery.connect event too.

----connected----
delivery connected
called 1425339118.sst
called 1425339126.sst
called 1425339135.sst
called thisisanewfile.txt
file was successfully sent. 863defe2-be89-4d24-a1a7-bbba02b87cc6
file was successfully sent. 863defe2-be89-4d24-a1a7-bbba02b87cc6
file was successfully sent. 772296e5-5e7d-4387-a23e-298dd7dd8829
file was successfully sent. 772296e5-5e7d-4387-a23e-298dd7dd8829
file was successfully sent. d783486d-1b63-42f4-99e0-13ec47cbd8fa
file was successfully sent. d783486d-1b63-42f4-99e0-13ec47cbd8fa
file was successfully sent. e6a36bde-1eb9-4dc8-b7e1-e1f7c98ea6da
file was successfully sent. e6a36bde-1eb9-4dc8-b7e1-e1f7c98ea6da

Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions