我有一个SignalR应用程序,我想动态创建组。 例如,我有2个文本框。一个用于组名,另一个用于消息。 如果用户将GroupA键入组名并发送消息,则只有GroupA中的消息才能看到此消息。
我的中心
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>
我该如何使其发挥作用?
答案 0 :(得分:0)
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());