Gibt es einen Weg, um eine tcp-Verbindung zu einer IP-Adresse mit javascript?

Lassen Sie mich Ihnen ein wenig hintergrund auf, was ich versuche zu erreichen.

Ich habe ein Gerät(chip-und pin-Terminal), dass eine lokale IP-Adresse, Es wurde programmiert, um bestimmte Daten und verarbeiten.

Beispiel: ich sende den string "05" im hex "30 35" und das terminal liest und dann neu starten.

Habe ich versucht, mit SockJS-Client sowie die eingebaute WebSockets.

Jedoch mit Websockets ich merke, dass der browser sendet:

GET / HTTP/1.1
Host: IP:PORT
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
Origin: MYIP
Sec-WebSocket-Version: 13
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Sec-WebSocket-Key: A1CeTMFnQCZv4GNZbLFnyQ==
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits

Wenn mein code sieht wie folgt aus:

var exampleSocket = new WebSocket("ws://IP:PORT");

exampleSocket.send("05");

Wenn ich den code so:

var exampleSocket = new WebSocket("wss://IP:PORT");

exampleSocket.send("05");

Bekomme ich nur 3 tags gesendet werden: SYN(0x0016) ETX(0x0003) SOH(0x0001)

Ich bin mir jetzt nicht sicher, ob Sie brauchen, um einen WebSocket-Server in der Lage sein zu interpretieren, die eingehenden Daten.

SockJS tut die gleiche Sache, indem Sie zusätzliche Informationen über sich selbst und die broswer:

GET /info?t=1452272641278 HTTP/1.1
Host: IP:PORT
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
Origin: MYIP
Accept: */*
Referer: MYIP
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8

Also ich denke, meine Frage ist. Gibt es eine Möglichkeit, nur senden genau das, was ich will? ohne irgendwelche zusätzlichen Daten?

Ich habe dies in Objective-C sowie C#, ich bin nur nicht sicher, ob javascript kann dies tun?

Bitte Fragen wenn etwas unklar ist und ich werde versuchen das zu klären.

  • Warum ist es wichtig, die Verbindung mit dem lokalen Netzwerk-Gerät per JS? Wäre es nicht möglich, dies zu tun auf dem server und führen Sie die Transaktion über AJAX-events?
  • Wählen Sie eine andere Sprache, nur etwa JEDER anderen Sprache, und seine relativ einfache, aber (browser) JavaScript einfach nicht vom design. Sonst wäre es ein Kinderspiel, um die Durchführung reflektiert Angriffe.
InformationsquelleAutor Derek | 2016-01-08
Schreibe einen Kommentar