Websockify игнорирует сокет, не готовый Firefox 15

Я использую Websockify для подключения к серверу VNC (TightVNC) через noVNC. Это отлично работало с Firefox 14.0.1, Chrome 21 и даже IE 10. Теперь я обновился до Firefox 15, и начались проблемы:

Это пример вывода 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:

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 и до сих пор работает в Chrome 21 и IE 10.

Есть идеи, почему Firefox вылетает из websockify? Это ошибка в коде Firefox Websocket или ошибка в Websockify?


person Niklas Rother    schedule 06.09.2012    source источник
comment
Велика вероятность, что это ошибка Firefox: bugzilla.mozilla.org/show_bug.cgi? идентификатор = 789018   -  person Niklas Rother    schedule 06.09.2012


Ответы (1)


Я ответил на ваш отчет об ошибке Mozilla: https://bugzilla.mozilla.org/show_bug.cgi?id=789018

Таким образом, это проблема Windows/python в сочетании с неправильной функцией в Firefox 15 (спекулятивное подключение).

В качестве временного решения вы можете увеличить время ожидания подключения в noVNC.

person kanaka    schedule 06.09.2012
comment
Джеп, так и было. Помогло увеличение таймаута до 10 секунд. - person Niklas Rother; 11.09.2012