mgechev / js-vnc-demo-project

Demo project for the class Advanced JavaScript at the department mathematics and informatics in Sofia University.
MIT License
193 stars 52 forks source link

Screen does not update #3

Closed khuongduybui closed 9 years ago

khuongduybui commented 10 years ago

I checked out the source code and run without any modifications. I connected to a VNC server successfully, but when I move or click the mouse or type something with the keyboard, the screen is not updated. I tried to put "console.trace()" into server.js #handleFrame() function and found out that it was never called more than once in the whole 15 minutes.

Note: I connect to a real VNC service on another VM on the same host, so network latency is absolutely out of question.

mgechev commented 10 years ago

Thanks for the issue! Next a couple of days I'm going to debug it and see how it could be fixed.

mgechev commented 10 years ago

The installation of node-png is a little bit tricky. In order to make it run you need libpng and I think you cannot compile it with the latest node, so you will need not newer version than ~0.10.13.

After making node-png running, everything should work properly.

khuongduybui commented 10 years ago

I had all dependencies installed and the screen loads successfully upon login. It just doesn't "update". I tried putting r.requestUpdate(...) into the r.on('rect') handler but even that is still very sluggish. Note: the VNC server I test this with is running TightVNC server version 1.2.9

mgechev commented 10 years ago

I'm going to keep the issue open, hopefully I'll be able to reproduce it.

haroondilshad commented 9 years ago

The screen doesn't update, same here.

haroondilshad commented 9 years ago

Can't find anywhere emitting .emit('rect',rect), maybe that's the problem?

mgechev commented 9 years ago

Today I found time and reproduced the issue.

I tried to connect to TightVNC server but it didn't work. I guess there was a problem in the frame encoding or may be security?

With RealVNC it works properly. I also added polling for changes, the polling is not incremental i.e. every time the proxy requests the whole screen. In order to make it incremental change the flag passed to requestUpdate.

haroondilshad commented 9 years ago

I'm trying it on RealVNC but the issue is produced

mgechev commented 9 years ago

@RonCan did you pull the last changes?