novnc / noVNC

VNC client web application
https://novnc.com
Other
11.68k stars 2.31k forks source link

Fail to connect with Opera 10.60 (Xtightvnc 1.3.9, Python 2.6.5) #3

Closed Karry closed 14 years ago

Karry commented 14 years ago

Hi all. This project looks cool, but it don't work for me. I am using Xtightvnc 1.3.9, Python 2.6.5, Opera 10.60.

Xtightvnc log: 19/06/10 15:22:27 rfbProcessClientProtocolVersion: client gone
19/06/10 15:22:27 Client 192.168.0.200 gone
19/06/10 15:22:27 Statistics:
19/06/10 15:22:27 framebuffer updates 0, rectangles 0, bytes 0

19/06/10 15:22:52 Got connection from client 192.168.0.200
19/06/10 15:22:52 (other clients 127.0.0.1)

wsproxy.py:

waiting for connection on port 8787

Got client connection from 127.0.0.1 using plain (not SSL) socket b64encode=True seq_num=True Connecting to: localhost:5900

Traffic Legend: } - Client receive }. - Client receive partial { - Target receive

>  - Target send
>. - Target send partial
<  - Client send
<. - Client send partial

{<

When I add --record parameter, it make file with this content: '>0:UkZCIDAwMy4wMDgK',

In browser is text "Starting VNC handshake" and nothing change anymore...

kanaka commented 14 years ago

I should probably note in the README that right now I'm only testing on firefox and Chrome (under Linux).

Opera doesn't have native support for WebSockets yet so the code falls back to using a flash WebSockets emulator. The same is true in firefox. However, unlike firefox, the WebSockets emulator doesn't seem to work properly in Opera. With Opera 10.10, it starts off working and then drops almost 40% of all packets. With Opera 10.60, it's even worse, after the "Starting VNC handshake" status is posted, a Javascript error is throw ("Error: WRONG_ARGUMENTS_ERR). So Opera 10.60 is even worse.

I'm not sure where the error exists. It could be Opera itself, or in Flash, or in the Javascript/Flash bridge (FABridge). Wherever the problem is, it doesn't happen under firefox.

I can't guarantee I'll be able to spend much time debugging Opera issue soon. I just pushed a modification that enables better debug output under Opera.

You should see debug output there.

kanaka commented 14 years ago

The WRONG_ARGUMENTS_ERR has been fixed (commit 35f5b11ce5e9d942655a1a1869a7a48138a37ff8) by pulling in the latest web-socket-js code.

However, note that this problem http://github.com/gimite/web-socket-js/issues#issue/17 causes frames to be dropped in Opera. So the rendering will start but eventually you will hit a packet drop and the client won't be able to recover.

I'll close this issue and file another to track the web-socket-js issue.