使用SignalR的多个聊天会话

本文关键字:聊天 会话 SignalR 使用 | 更新日期: 2023-09-27 17:49:35

我使用SignalR基于https://github.com/SignalR/Samples的例子。我是新的,但得到了它在我的网络应用程序聊天室类型的概念工作。但现在我试图得到一个用户到用户聊天功能使用这个完成。我该怎么做呢?

我必须为每个聊天会话设置一个单独的连接吗?意思是user1在browser1上和5个人单独在一个页面上聊天。我是否需要从user1到服务器单独的5个SignalR连接?

的意思是我必须渲染这部分旁边的每一个我的聊天元素为这5个不同的终点为user1?或者我只需要一个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>
}

是否有我可以使用的例子?

使用SignalR的多个聊天会话

从后端发送到客户端的连接id://调用send on到一个特定的连接

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

,在客户端,您获得集线器连接的客户端id。

$.connection.hub.id