novnc / websockify-js

JavaScript WebSocket to TCP bridge
Other
208 stars 72 forks source link

websockify.js : Server disconnected (code: 1006) #3

Open jude90 opened 6 years ago

jude90 commented 6 years ago

node : v.6.11.5 webscokify@0.7.1

websockify crashed when I conneccted at vnc.html

trace back stack :

/home/vagrant/node_modules/websockify/websockify.js:129
        callback(true, 'binary');
        ^

TypeError: callback is not a function
    at Object.selectProtocol [as handleProtocols] (/home/vagrant/node_modules/websockify/websockify.js:129:9)
    at WebSocketServer.handleUpgrade (/home/vagrant/node_modules/ws/lib/WebSocketServer.js:169:31)
    at Server.WebSocketServer._ultron.on (/home/vagrant/node_modules/ws/lib/WebSocketServer.js:87:14)
    at emitThree (events.js:116:13)
    at Server.emit (events.js:194:7)
    at onParserExecuteCommon (_http_server.js:409:14)
    at Socket.socketOnData (_http_server.js:371:5)
    at emitOne (events.js:101:20)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)

updated: full dependency as follows └─┬ websockify@0.7.1 ├─┬ optimist@0.6.1 │ ├── minimist@0.0.10 │ └── wordwrap@0.0.3 ├── policyfile@0.0.6 └─┬ ws@3.2.0 ├── async-limiter@1.0.0 ├── safe-buffer@5.1.1 └── ultron@1.1.0

CendioOssman commented 6 years ago

You have some incompatibility between websockify and the version of WebSocketServer you are using. I would suggest upgrading to the latest version of websockify.js.

@DirectXMan12, perhaps time to push something updated to npm?

evantobin commented 6 years ago

@DirectXMan12 Any update on upgrading the version in NPM?

mliudev commented 6 years ago

Getting a similar error with the latest node on Windows Server 2008 R2:

PS C:\> node --version
v10.1.0
PS C:\> npm --global ls
`-- websockify@0.7.1
  +-- optimist@0.6.1
  | +-- minimist@0.0.10
  | `-- wordwrap@0.0.3
  +-- policyfile@0.0.6
  `-- ws@5.2.0
    `-- async-limiter@1.0.0

I'm getting the following error:

WebSocket settings:
    - proxying from :7777 to localhost:5900
    - Running in encrypted HTTPS (wss://) mode using: foo.pem, foo.pem
C:\Users\Administrator\AppData\Roaming\npm\node_modules\websockify\websockify.js:129
        callback(true, 'binary');
        ^

TypeError: callback is not a function
    at Object.selectProtocol [as handleProtocols] (C:\Users\Administrator\AppData\Roaming\npm\node_modules\websockify\we
bsockify.js:129:9)
    at WebSocketServer.completeUpgrade (C:\Users\Administrator\AppData\Roaming\npm\node_modules\websockify\node_modules\
ws\lib\websocket-server.js:260:33)
    at WebSocketServer.handleUpgrade (C:\Users\Administrator\AppData\Roaming\npm\node_modules\websockify\node_modules\ws
\lib\websocket-server.js:220:10)
    at Server.upgrade (C:\Users\Administrator\AppData\Roaming\npm\node_modules\websockify\node_modules\ws\lib\websocket-
server.js:78:16)
    at Server.emit (events.js:182:13)
    at onParserExecuteCommon (_http_server.js:535:14)
    at onParserExecute (_http_server.js:482:3)

Does anyone know of a working version of node and this version of websockify? At some point there was a working combination.

This issue seems to indicate that windows was working at some point in the beginning of this year. https://github.com/novnc/websockify/issues/67#issuecomment-354792644

mliudev commented 6 years ago

As an update I was able to get this working with this version of websockify.js using node 10.1.0. I think I just need to package this up as a node module and install it globally.

alex88 commented 5 years ago

The problem is the ws library version, instead of using >=0.4.27 use ~0.4.27 as dependency constraint in package.json and everything works. Problem is that ws is now at version 6.1.2 so quite far from the 0.x this package is using

CendioOssman commented 5 years ago

Ah, thanks. We'll have to update our dependencies then. Thanks for figuring it out.