Websockifyを使用してnoVNC経由でVNCサーバー(TightVNC)に接続しています。これはFirefox14.0.1、Chrome 21、さらにはIE 10でもうまく機能しました。Firefox15にアップグレードすると、問題が発生します。
これはwebsockifyからの出力例です。
>websockify.exe 6080 localhost:5900 -v
WARNING: no 'resource' module, daemonizing support disabled
WebSocket server settings:
- Listen on :6080
- Flash security policy server
- No SSL/TLS support (no cert file)
- proxying from :6080 to localhost:5900
#Connection with Chrome
1: 79.194.220.16: Plain non-SSL (ws://) WebSocket connection
1: 79.194.220.16: Version hybi-13, base64: 'True'
1: connecting to: localhost:5900
Traffic Legend:
} - Client receive
}. - Client receive partial
{ - Target receive
> - Target send
>. - Target send partial
< - Client send
<. - Client send partial
{<}>{<}>{<}>{<}>{<}>{{<<}>}>{}><}>}>}>}> 1: localhost:5900: Target closed
1: 79.194.220.16: Client closed, reason: None - None
#Chrome disconnected, Firefox tries to connect
2: 79.194.220.16: ignoring socket not ready
3: 79.194.220.16: Plain non-SSL (ws://) WebSocket connection
3: 79.194.220.16: Version hybi-13, base64: 'True'
3: connecting to: localhost:5900
Traffic Legend:
} - Client receive
}. - Client receive partial
{ - Target receive
> - Target send
>. - Target send partial
< - Client send
<. - Client send partial
{<
最後の行の後にwebsockifyがハングし、他の接続を受け入れません。FirefoxのコンソールOuputは次のとおりです。
New state 'loaded', was 'disconnected'. Msg: noVNC ready: native WebSockets, canvas rendering
util.js (Zeile 110)
New state 'connect', was 'loaded'.
util.js (Zeile 110)
WebSocket on-error event
util.js (Zeile 110)
New state 'failed', was 'connect'. Msg: Connect timeout
case 'error': Util.Error = function (msg) { console.error(msg); };
util.js (Zeile 111)
Firefox kann keine Verbindung zu dem Server unter ws://ec2-176-34-194-149.eu-west-1.compute.amazonaws.com:6080/websockify aufbauen.
websocket = new WebSocket(uri, 'base64');
websock.js (Zeile 275)
WebSocket on-close event
util.js (Zeile 110)
Received onclose while disconnected (code: 1006)
case 'error': Util.Error = function (msg) { console.error(msg); };
util.js (Zeile 111)
New state 'disconnected', was 'failed'.
前述のように、これはFF 14.0.1で完全に機能し、Chrome21とIE10でも機能します。
Firefoxがwebsockifyをクラッシュさせる理由はありますか?これはFirefoxWebsocketコードのバグですか、それともWebsockifyのバグですか?