Senden von Daten aus Node.js zu Java über TCP

Ich versuche, Nachrichten zu senden (byte-arrays) von Node.js zu Java über TCP-socket (serialisiert mit protobuf).

Erstelle ich einen server-socket auf der java-Seite und verbinden von Knoten:

var client = net.createConnection(12345, "localhost")

client.addListener("connect", function(){
    client.write(serializedMsg1)
    client.end(serializedMsg2)
})

Auf der java-Seite bin ich das abrufen der Inhalte aus dem Eingabe-stream und Deserialisieren es:

Protocol1.parseFrom(inputStream);
Protocol2.parseFrom(inputStream);

Das problem ist Folgendes - sieht aus wie nur serializedMsg2 ist bestanden/deserialisiert, während serializedMsg1 ignoriert. So wie ich das verstehe, passiert es, weil das byte-stream ist nicht begrenzt, und die Größe des Daten-chunks sollten explizit angegeben werden. Daten sollten nicht gelesen werden, direkt aus dem stream auf der java-Seite - delimeted chunkds sollte zuerst gelesen werden, und deserialisiert werden als byte-arrays danach.

InformationsquelleAutor | 2010-10-26
Schreibe einen Kommentar