2012-08-15 95 views
0

在我的JSP文件中我有jWebsocket未连接错误

<script type="text/javascript" src="/resources/scripts/jWebSocket.js"></script> 

    <script type="text/javascript"> 
    //jws.browserSupportsWebSockets checks if web sockets are available 
    //either natively, by the FlashBridge or by the ChromeFrame. 
    if(jws.browserSupportsWebSockets()) { 
    jWebSocketClient = new jws.jWebSocketJSONClient(); 
    // Optionally enable GUI controls here 
    } else { 
    // Optionally disable GUI controls here 
    var lMsg = jws.MSG_WS_NOT_SUPPORTED; 
    alert(lMsg); 
} 

    var lURL = jws.getDefaultSSLServerURL() + "/;timeout=360000"; 
alert(lURL); 

    /* var lRes = jWebSocketClient.broadcastText(
    "", // broadcast to all clients (not limited to a certain pool) 
    lMsg // broadcast this message 
); 

    alert(lRes.code); 
    */ 

    function broadcast() { 

     var lMsg = "This is test message"; 
     var lTarget = "*"; 
     if(lMsg.length > 0) { 
      //log(USR, OUT, lMsg); 
      var lRes; 
      if(!lTarget || lTarget == "*") { 
       alert(lMsg); 
       lRes = jWebSocketClient.broadcastText(
        "",   // broadcast to all clients (not limited to a certain pool) 
        lMsg  // broadcast this message 
       ); 
      } else { 
       lRes = jWebSocketClient.sendText(
        lTarget, // broadcast to all clients (not limited to a certain pool) 
        lMsg  // broadcast this message 
       ); 
      } 
      // log error only, on success don't confuse the user 
      if(lRes.code != 0) { 
       alert(lRes.msg); 
       //log(SYS, OUT, "broadcast: " + lRes.msg); 
      } 
      // eMessage.value = ""; 
     } 
     //doFocus(eMessage); 
    }  

    </script> 

它不会去的这个else部分,如果(jws.browserSupportsWebSockets())。这意味着浏览器支持websockets。

最后它去,如果(lRes.code!= 0),并提醒 “未连接”

我失去了一些东西。请帮助

在我的终端窗口中我得到这个消息

TCPEngine: SSL engine 'tcp0' started' at port 9797 with default timeout infinite. 
2012-08-15 09:52:45,979 DEBUG - JWebSocketFactory: Starting servers... 
2012-08-15 09:52:45,980 INFO - TokenServer: Token server 'ts0' started. 
2012-08-15 09:52:45,980 INFO - JWebSocketFactory: jWebSocket server startup complete 

这意味着服务器正在运行。

当我从下面的代码提醒lURL

var lURL = jws.getDefaultSSLServerURL() + "/;timeout=360000"; in my jsp file. 

它打印

wss://localhost:9797/jWebSocket/jWebSocket/;timeout=360000 

回答

0

是。您错过了登录电话。添加以下行(而不是在您的alert(lUrl)是):

jWebSocketClient.logon(lURL, "guest", "guest", { 

    OnOpen: function(aEvent){ 
    // something to do when connection is established 
    } 

    OnMessage: function(aEvent, aToken){ 
    // something to do when a message is recieved 
    } 
} 

第一"guest"是用户名,第二个是密码。如果您尚未更改服务器中的jwebsocket.conf文件,则应该有一个拥有这些凭据的用户。

让我们知道这是否有帮助