Datei- / Datenübertragung zwischen zwei node.js-Servern

Ich versuche, ein kleines System einzurichten, bei dem ein Server (auch bekannt als Sensor) Datendateien auf einen anderen Server (auch bekannt als Server) überträgt (beide mit node.js-Apps), wenn der andere verfügbar ist.

Der Server sollte idealerweise auf eine Verbindung vom Sensor warten. Wenn die Verbindung hergestellt ist, überträgt der Sensor alle verfügbaren Datendateien auf den Server und beendet dann die Verbindung.

Ich habe mit einer Bibliothek namens delivery.js herumgespielt (https://github.com/liamks/Delivery.js), es sieht vielversprechend aus, wenn man die Dokumentation durchliest, aber als Anfänger in der Programmierung habe ich Mühe zu verstehen, warum mein Versuch mit dem Beispiel nicht funktioniert.

Ich verwende den folgenden Code für den Sensor:

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

var socket = io.connect('http://192.168.0.14:5001');

socket.on('connect', function() {
  log( "Sockets connected" );

  delivery = dl.listen( socket );
  delivery.connect();

  delivery.on('delivery.connect',function(delivery){
    delivery.send({
      name: 'sample-image.jpg',
      path : './sample-image.jpg'
    });

    delivery.on('send.success',function(file){
      console.log('File sent successfully!');
    });
  });

});

Und der Server, auf dem der Beispielcode ausgeführt wird:

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

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

    delivery.send({
      name: 'sample-image.jpg',
      path : './sample-image.jpg'
    });

    delivery.on('send.success',function(file){
      console.log('File successfully sent to client!');
    });

  });
});

Der Servercode läuft einwandfrei und erzeugt den Socket, der auf Kommunikation wartet. Der Sensorcode löst jedoch einen Fehler aus:

/Users/Oliver/Desktop/socket/delivery/test-delivery-client.js:5
var socket = io.connect('http://192.168.0.14:5001');
                ^
TypeError: Object #<Object> has no method 'connect'
    at Object.<anonymous> (/Users/Oliver/Desktop/socket/delivery/test-delivery-client.js:5:17)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:349:32)
    at Function.Module._load (module.js:305:12)
    at Function.Module.runMain (module.js:490:10)
    at startup (node.js:123:16)
    at node.js:1029:3

Wenn jemand erklären könnte, wo ich falsch liege und wie ich meine Bedürfnisse befriedigen kann, wäre das großartig. Danke im Voraus.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage