1

我正在使用基于https://github.com/SignalR/Samples示例的 SignalR 。我对此并不陌生,但让它在我的网络应用程序中用于聊天室类型的概念。但现在我正试图让用户使用它来完成用户聊天功能。我该怎么做?

我是否必须为每个聊天会话设置单独的连接?意味着 browser1 上的 user1 在单页中分别与 5 个人聊天。我是否需要从 user1 到服务器有单独的 5 SignalR 连接?

这意味着对于 user1 的这 5 个不同端点,我是否必须在每个聊天元素旁边呈现此部分?或者我可以只有一个 SignalR 连接吗?如果我只有一个,如何从服务器更新正确的聊天控件以显示最终用户的响应?

@section scripts {
    <script src="@Url.Content("~/Scripts/jquery.signalR-1.0.0-rc1.min.js")" type="text/javascript"></script>
    <script src="/signalR/hubs" type="text/javascript"></script>

    <script>
        $(function () {
            var chat = $.connection.chat;

            chat.client.send = function (message) {
                $('#message').append('<li>' + message + '</li>');
            };

            $.connection.hub.start().done(function () {
                $('#send').click(function () {
                    chat.server.send($('#msg').val());
                });
            });
        });
    </script>
}

有没有我可以使用的例子?

4

1 回答 1

0

从后端你通过他的连接ID发送到客户端://调用发送到一个特定的连接

Clients.Client(Context.ConnectionId).send(message);

在客户端上,您将获得集线器连接的客户端 ID。

$.connection.hub.id
于 2012-12-24T11:00:50.697 回答