NEWS
JavaScript: http/rawSocket
-
Hallo,
ich versuche gerade per Wlan mit einem Gerät (Roomba) eine TCP Verbindung aufzubauen. Das Steuern des Gerätes geschieht per Übertragung von einzelnen Bytes. Physikalisch hat der Roomba eine serielle Schnittstelle, welche auf Wlan umgesetzt wird.
Per 'telnet IP:PORT' kann cih die Verbindung aufbauen. Wenn ich das Gleiche per WebSocket versuche, wird die Verbindung von der Gegenstelle sofort abgebaut.
Da WebSocket http verwendet, der Roomba aber einzelne Bytes (ohne weiteres Protokoll) will, funktioniert die Verbindung nicht.
Nach einiger Internetrecherche bin ich er Meinung, dass es mit JavaScript nciht möglich ist einen RAW Socket aufzubauen.
Hat jemand hierzu Erfahrung oder eine Lösung?
Tobias
-
Willst aus Browser oder aus node.js schreiben?
-
@Bluefox: Danke für deine Antwort. Ich wollte es als Adapter mit node.js machen.
Nach einer Programmier-Nacht habe ich es selbst rausgefunden. Für alle, die vielleicht das gleiche Problem haben:
var net = require('net'); var client = new net.Socket(); client.connect(PORT, HOST, function() {...} var buf2=new Buffer([0x13, 0x0, 0xc8, 0x80, 0x0]); client.write(buf2);
Hiermit wird ein byte-Array ohne weiteren Overhead an einen TCP-Server gesendet.
Tobias