2011-04-04 17 views
0

我正在運行來自在線文章Getting Started with Reverse Ajax and Comet的StreamHub hello世界示例。我想,正是因爲文章指示我已經配置好了一切,但我在new StreamHub().connect(..)執行StreamHub Hello World的例外:WebSocket的無效url ws:// localhost:7878ws/

得到一個JavaScript異常這裏是我的HTML文件:

<html> 
    <head> 
     <title>Hello World Comet Application</title> 
     <script type="text/javascript" src="streamhub-min.js"></script> 
    </head> 
    <body> 
     <h1>Hello World Comet Application</h1> 
     <input type="button" value="say hello" onclick="start()"> 
     <div id="streamingData"></div> 
     <script> 
      function topicUpdated(sTopic, oData) { 
       var newDiv = document.createElement("DIV"); 
       newDiv.innerHTML = "Update for topic '" + sTopic 
        + "' Response: '" + oData.Response + "'"; 
       document.getElementById("streamingData").appendChild(newDiv); 
      } 

      function start() { 
       var hub = new StreamHub(); 
       hub.connect("http://localhost:7878/"); 
       hub.subscribe("HelloWorld", topicUpdated); 
      } 
     </script> 
    </body> 
</html> 

在異常被拋出該生產線是:

hub.connect("http://localhost:7878/"); 

它每次我點擊「打招呼」按鈕發生了,我得到的例外是:

對於WebSocket的WS無效網址://本地主機:7878ws/

我的瀏覽器Chrome的是測試版11.0.696.28,但我也對IE7類似的問題,所以我不認爲這是瀏覽器相關。這有點奇怪的URI,不是嗎? ws://localhost:7878ws/

我在做什麼錯?

回答

0

我在StreamHub blog上得到了答案。顯然,他們之前的博客文章中的教程已過時。以下是需要做的事情:

如果您將任何現有的Ajax SDK應用程序從2.0.x遷移到2.1或2.2,則需要更改連接URL以合併新的streamhub上下文。例如,如果以前你使用:

hub.connect("http://localhost:7979/"); 

現在,您將需要使用:」

hub.connect("http://localhost:7979/streamhub/"); 

改變連接字符串之後,一切工作就好