簡體   English   中英

我的signalR客戶端缺少什么基本組件?

[英]What basic component am I missing from my signalR client?

遵循本教程:

http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr

我設法實現了一個非常非常簡單的Signalr聊天客戶端。 即,一個廣播從javascript發送給它的消息的集線器。

很好,行得通。

但是現在我試圖用相同的index.html文件和js(即發送消息的代碼)創建第二個項目,但出現了未定義的錯誤。 正如本教程指定的和我完成的一樣(在“遠程”項目中),文件之間的唯一區別是我已明確建議指定connection.hub.url ,這是我從各種建議中得到的建議。帖子。

我到底在想什么? 僅僅將URL設置到托管信號中心的另一個站點顯然是不夠的,我是否需要添加某種代理? 在這一點上完全困惑。

我的javascript文件(不帶集線器的網站上的javascript):

$(function () {
            var chat = $.connection.chatHub;
            $.connection.hub.url = "http://localhost:14113/signalr";

            chat.client.broadcastMessage = function (name, message) {
                // Do something
            };

            $.connection.hub.start().done(function () {
                $('#sendmessage').click(function () {
                    chat.server.send($('#displayname').val(), $('#message').val());
                });
            });
        });

它是對chat變量的第一次引用,我有未定義的錯誤。

注意:我可以確認兩個站點都在運行,可以使用集線器,因為我可以導航到另一個選項卡(原始解決方案中的相同index.html文件),並且它可以正常運行。

我還可以確認我的jQuery庫(正確引用)和jQuery signalR腳本(同樣,沒有404,都正確引用)的存在。

您正在嘗試訪問在主機應用程序中生成的chatHub 看起來您的代碼無法獲取該chatHub 您需要確保在客戶端應用程序中包括集線器,如下所示:

<script src="localhost:14113/signalr/hubs"></script>

嘗試使用xdomain這樣的代理,例如

$(function () {

    $.connection.hub.url = 'http://localhost:14113/signalr';

    $.connection.hub.start({ xdomain: true })
        .done(function () { console.log('Connected. connectionId : ' + $.connection.hub.id); })
        .fail(function () { console.log('Could not connect!');
    });

    var proxy = $.connection.chatHub;

    proxy.client.broadcastMessage = function(uri) {
        //Do something
    };

    $('#sendmessage').click(function () {
        proxy.server.send($('#displayname').val(), $('#message').val());
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM