将多个组添加到 SignalR ASP.NET



我有一个 SignalR 应用程序,我想动态创建组。例如,我有 2 个文本框。一个用于组名,另一个用于消息。如果用户键入组 A 作为组名并发送消息,则只有组 A 中的用户才能看到此消息。

我的枢纽

public class SignalrServer : Hub
    {
        public class Chat : Hub
        {
            public void Send(string message)
            {           
                //Clients.All.addMessage(message);
                Clients.Group("get group name").addMessage("Group " + message);
            }
            public void Join(string groupName)
            {
                Groups.Add(Context.ConnectionId, groupName);
            }
        }
    }

Aspx 文件

<script type="text/javascript">
    $(function () {
        // Proxy created on the fly          
        var chat = $.connection.chat;
        // Declare a function on the chat hub so the server can invoke it          
        chat.client.addMessage = function (message) {
            $('#messages').append('<li>' + message + '</li>');
        };
        $.connection.hub.start(function () {
            var group = $('#group').val();
            //chat.server.join("RoomA");
            chat.server.join(group);
        });
        // Start the connection
        $.connection.hub.start().done(function () {
            $("#broadcast").click(function () {
                // Call the chat method on the server
                chat.server.send($('#msg').val());
            });
        });
    });
</script>
  <div>
<input type="text" id="group" />
<input type="text" id="msg" />
<input type="button" id="broadcast" value="broadcast" />
<ul id="messages">
</ul>

我怎样才能使它工作?

public void Send(string group, string message)
{           
    //Clients.All.addMessage(message);
    Clients.Group(group).addMessage("Group " + message);
}

var group = $('#group').val();
chat.server.send(group , $('#msg').val());

最新更新