2013-05-25 21 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中的错误,但我的服务器控制台一直说这是接受了我的computerr 127.0.0.1的连接。我错过了什么吗?我在C#中使用Fleck服务器

+0

BUMP。任何帮助?已经差不多一周了... –

+0

BUMP。现在两周。没有人知道为什么这不起作用吗? –

+0

BUMP我也想知道这个(有点晚) –

回答

1

虽然我无法为您的服务器问题提供答案,但在第6行中,您立即调用了一个尚不存在的变量(socket),并在整个脚本中继续使用该变量。这实际上会导致至少你的catch被触发,因为它会产生一个异常。

socket的实例替换为ws(反之亦然),让我们看看我们的位置。