Как я могу получить доступ к устройству PLC / SPS через vncClient в браузере удаленно? - PullRequest
0 голосов
/ 23 января 2019

У меня есть это устройство PLC / SPC, которое содержит определенный набор информации, которую я хотел бы включить в свое приложение в качестве окна браузера. Я пытался добиться этого с помощью "vnc.js":

https://engineering.linkedin.com/javascript/vncjs-how-build-javascript-vnc-client-24-hour-hackday

Но я продолжаю мешать "base64" ошибка

Итак ... что я делаю:

  1. Я загружаю и сохраняю оба документа 'vnc.js' и 'tcp.js'

  2. Папка tcp.js, которую я ввел в папку 'vnc.js' и изменил ее имя на 'JSTCP', чтобы при запуске файла server.js четвертая строка могла найти то, что она ищет :

строка 4: TCPProxy = require("./JSTCP/jstcp")

  1. Из строки cmd, которую я запускаю

npm node install

  1. я вызываю команду:

node server.js

И я получаю эту ошибку:

C:\Users\p\AppData\Roaming\npm\vnc.js>node server.js
C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\socket.io\lib\store.js:35
Store.prototype.__proto__ = EventEmitter.prototype;
                                         ^

TypeError: Cannot read property 'prototype' of undefined
    at Object.<anonymous> (C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\socket.io\lib\store.js:35:42)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\socket.io\lib\manager.js:16:13)
    at Module._compile (internal/modules/cjs/loader.js:689:30)

Перед тем, как попасть сюда, я получил ошибки об отсутствии:

socket.io node-gyp и node-waf, которые я установил. За исключением base64, который выдает ошибку:

   C:\Users\p\AppData\Roaming\npm\vnc.js>npm install base64

> base64@2.1.0 install C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64
> node-gyp rebuild


C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Die Projekte in dieser Projektmappe werden nacheinander erstellt. Um eine parallele Erstellung zu ermöglichen, müssen Sie den Schalter "/m" hinzufügen.
  base64.cc
  win_delay_load_hook.cc
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(13): error C2248: "v8::HandleScope::HandleScope": Kein Zugriff auf protected Member, dessen Deklaration in der v8::HandleScope-Klasse e
rfolgte. [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.vcxproj]
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(883): note: Siehe Deklaration von "v8::HandleScope::HandleScope"
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(864): note: Siehe Deklaration von "v8::HandleScope"
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(14): error C2039: "New": Ist kein Element von "v8::String" [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base
64.vcxproj]
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(2568): note: Siehe Deklaration von "v8::String"
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(14): error C3861: "New": Bezeichner wurde nicht gefunden. [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base6
4.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(14): error C3861: "ThrowException": Bezeichner wurde nicht gefunden. [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\
build\base64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(122): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(122): error C2143: Syntaxfehler: Es fehlt "," vor "&" [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.vc
xproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(124): error C2248: "v8::HandleScope::HandleScope": Kein Zugriff auf protected Member, dessen Deklaration in der v8::HandleScope-Klasse
erfolgte. [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.vcxproj]
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(883): note: Siehe Deklaration von "v8::HandleScope::HandleScope"
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(864): note: Siehe Deklaration von "v8::HandleScope"
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(127): error C2065: "args": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.
vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(130): error C2065: "args": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.
vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(131): error C2065: "args": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.
vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(137): error C2065: "args": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.
vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(138): error C2065: "args": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.
vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(138): error C2512: "v8::String::Utf8Value::Utf8Value": Kein geeigneter Standardkonstruktor verfügbar [C:\Users\p\AppData\Roaming
\npm\vnc.js\node_modules\base64\build\base64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(144): error C2039: "New": Ist kein Element von "v8::String" [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\bas
e64.vcxproj]
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(2568): note: Siehe Deklaration von "v8::String"
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(144): error C3861: "New": Bezeichner wurde nicht gefunden. [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base
64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(146): error C2039: "Close": Ist kein Element von "v8::HandleScope" [C:\Users\popescuf\AppData\Roaming\npm\vnc.js\node_modules\base64\bu
ild\base64.vcxproj]
  c:\users\popescuf\.node-gyp\10.14.2\include\node\v8.h(864): note: Siehe Deklaration von "v8::HandleScope"
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(150): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(150): error C2143: Syntaxfehler: Es fehlt "," vor "&" [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.vc
xproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(152): error C2248: "v8::HandleScope::HandleScope": Kein Zugriff auf protected Member, dessen Deklaration in der v8::HandleScope-Klasse
erfolgte. [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.vcxproj]
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(883): note: Siehe Deklaration von "v8::HandleScope::HandleScope"
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(864): note: Siehe Deklaration von "v8::HandleScope"
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(155): error C2065: "args": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.
vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(160): error C2065: "args": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.
vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(161): error C2065: "args": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.
vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(170): error C2039: "AsciiValue": Ist kein Element von "v8::String" [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\bu
ild\base64.vcxproj]
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(2568): note: Siehe Deklaration von "v8::String"
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(170): error C2065: "AsciiValue": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\b
ase64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(170): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b64data" [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base
64\build\base64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(170): error C2065: "args": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.
vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(170): error C3861: "b64data": Bezeichner wurde nicht gefunden. [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\
base64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(171): error C2065: "b64data": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base
64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(174): error C2065: "args": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.
vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(175): error C2039: "AsciiValue": Ist kein Element von "v8::String" [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\bu
ild\base64.vcxproj]
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(2568): note: Siehe Deklaration von "v8::String"
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(175): error C2065: "AsciiValue": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\b
ase64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(175): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "flag" [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\
build\base64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(175): error C2065: "args": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.
vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(175): error C3861: "flag": Bezeichner wurde nicht gefunden. [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\bas
e64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(176): error C2065: "flag": nichtdeklarierter Bezeichner [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.
vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(182): error C2039: "Close": Ist kein Element von "v8::HandleScope" [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\bu
ild\base64.vcxproj]
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(864): note: Siehe Deklaration von "v8::HandleScope"
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(179): warning C4996: 'node::Encode': wurde als veraltet deklariert [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\bu
ild\base64.vcxproj]
  c:\users\p\.node-gyp\10.14.2\include\node\node.h(449): note: Siehe Deklaration von "node::Encode"
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(187): error C2248: "v8::HandleScope::HandleScope": Kein Zugriff auf protected Member, dessen Deklaration in der v8::HandleScope-Klasse
erfolgte. [C:\Users\pf\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base64.vcxproj]
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(883): note: Siehe Deklaration von "v8::HandleScope::HandleScope"
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(864): note: Siehe Deklaration von "v8::HandleScope"
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(188): error C2039: "New": Ist kein Element von "v8::String" [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\bas
e64.vcxproj]
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(2568): note: Siehe Deklaration von "v8::String"
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(188): error C3861: "New": Bezeichner wurde nicht gefunden. [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base
64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(188): error C2664: "v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate *,v8::FunctionCallback,v8::Local<v8::Value>,v
8::Local<v8::Signature>,int,v8::ConstructorBehavior,v8::SideEffectType)" : Konvertierung von Argument 1 von "v8::Local<v8::Value> (__cdecl *)(const int)" in "v8::Isolate *" nicht möglich [C:\Users\p\AppD
ata\Roaming\npm\vnc.js\node_modules\base64\build\base64.vcxproj]
  c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(188): note: Es gibt keinen Kontext, in dem diese Konvertierung möglich ist
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(189): error C2039: "New": Ist kein Element von "v8::String" [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\bas
e64.vcxproj]
  c:\users\p\.node-gyp\10.14.2\include\node\v8.h(2568): note: Siehe Deklaration von "v8::String"
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(189): error C3861: "New": Bezeichner wurde nicht gefunden. [C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64\build\base
64.vcxproj]
c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(189): error C2664: "v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate *,v8::FunctionCallback,v8::Local<v8::Value>,v
8::Local<v8::Signature>,int,v8::ConstructorBehavior,v8::SideEffectType)" : Konvertierung von Argument 1 von "v8::Local<v8::Value> (__cdecl *)(const int)" in "v8::Isolate *" nicht möglich [C:\Users\p\AppD
ata\Roaming\npm\vnc.js\node_modules\base64\build\base64.vcxproj]
  c:\users\p\appdata\roaming\npm\vnc.js\node_modules\base64\base64.cc(189): note: Es gibt keinen Kontext, in dem diese Konvertierung möglich ist
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Windows_NT 10.0.17763
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\p\AppData\Roaming\npm\vnc.js\node_modules\base64
gyp ERR! node -v v10.14.2
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN vnc@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! base64@2.1.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the base64@2.1.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\p\AppData\Roaming\npm-cache\_logs\2019-01-23T14_35_28_487Z-debug.log

Что мне здесь не хватает!?

Я также установил предыдущую версию Node.js, но все равно никуда не денусь ...

...