执行 StreamHub Hello World 示例时出现异常:WebSocket ws://localhost:7878ws/ 的 URL 无效

发布于 2024-10-29 09:22:20 字数 1660 浏览 4 评论 0原文

我正在运行在线文章 反向 Ajax 和 Comet 入门。我想我已经完全按照文章的说明配置了所有内容,但是我在 new StreamHub().connect(..) 处收到 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://localhost:7878ws/ 的 URL 无效

我的浏览器是 Chrome 11.0.696.28 beta,但我在 IE7 上也遇到了类似的问题,所以我认为这与浏览器无关。这是一种奇怪的 URI,不是吗? ws://localhost:7878ws/

我做错了什么?

I'm running through the StreamHub hello world example from the online article Getting Started with Reverse Ajax and Comet. I think I've configured everything exactly as the article instructs, but I'm getting a JavaScript exception at new StreamHub().connect(..)

Here's my HTML file:

<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>

The line where the exception is being thrown is:

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

It happens each time I click the "say hello" button, and the exception I'm getting is:

Invalid url for WebSocket ws://localhost:7878ws/

My browser is Chrome 11.0.696.28 beta, but I'm also having a similar problem on IE7, so I don't think it's browser-related. It's kind of strange URI, isn't it? ws://localhost:7878ws/

What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

維他命╮ 2024-11-05 09:22:20

我在 StreamHub 博客< /a>.显然他们之前的博客文章中的教程已经过时了。以下是需要完成的操作:

如果您将任何现有的 Ajax SDK 应用程序从 2.0.x 迁移到 2.1 或 2.2,您将需要更改连接 URL 以合并新的 Streamhub 上下文。例如,如果以前您使用:

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

您现在需要使用:”

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

更改连接字符串后,一切正常。

I got the answer on the StreamHub blog. Apparently the tutorial in their earlier blog post is out of date. Here's what needs to be done:

If you migrate any existing Ajax SDK apps from 2.0.x to 2.1 or 2.2 you will need to change your connection URLs to incorporate the new streamhub context. For example, if previously you were using:

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

You will now need to use:"

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

After changing the connection string, everything worked just fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文