2013-05-25 4 views
1

я получаю сообщение об ошибке, когда я пытаюсь использовать этот JS-код для подключения к WebSocket сервер на моем компьютере:Javascript - WebSocket OnOpen событие не вызывает

$(document).ready(function() { 
    var ws; 
    try{ 
     if("WebSocket" in window){ 
       ws = new WebSocket("ws://localhost:50002"); 
       socket.onopen = function(){ 
        $('#topbar').empty(); 
        $('#topbar').append('<form id="test">'); 
        $('#topbar').append('<input>'); 
        $('#topbar').append('</form>'); 

       } 

       socket.onmessage = function(msg){ 
        ; 
       } 

       socket.onclose = function(){ 
        ; 
       } 

       socket.onerror = function(error){ 
        $('#topbar').append('<div>Cannot make a connection with the server. Server is most likely in maintenance mode. Try again later</div>'); 
       } 
     } 
    } 
    catch(exception) {$('#topbar').append('<div>Cannot make a connection with the server. Server is most likely in maintenance mode. Try again later</div>');} 

}); 

я запускаю этот код в Firefox, но когда я проследить мой код, событие Поймайте срабатывает вместо OnOpen, и я получаю сообщение:

[11: 58: 50,103] подключение к WS: // локальный: 50002/был прерван пока страница была погрузка. @ /lib/default.js:5

Я знаю, что это ошибка в Firefox, но моя серверная консоль продолжает говорить, что она приняла соединение с моим компьютером 127.0.0.1. Я что-то упускаю? Я использую сервер Fleck в C#

+0

BUMP. Любая помощь в этом? Прошло почти неделю ... –

+0

BUMP. Через две недели. Разве никто не знает, почему это не работает? –

+0

BUMP Я также хотел бы знать это (немного поздно) –

ответ

1

Пока я не могу предоставить ответ для вашей серверной проблемы, в строке 6 вы сразу вызываете переменную (socket), которая еще не существует, и продолжайте использовать ее во всем скрипте. Это фактически вызовет, по крайней мере, ваш catch, поскольку это приведет к исключению.

Замените экземпляры socket на ws (или наоборот), и давайте посмотрим, к чему это приведет.

Смежные вопросы