From 6b3d9bd96dbc08c2679d4cdb3d878e4ef6bd5da1 Mon Sep 17 00:00:00 2001 From: David Fowler Date: Fri, 4 Nov 2016 01:28:49 -0700 Subject: [PATCH] Added group messaging to the sample - Clean up some boiler plate - Renamed Add/Remove on GroupManager to AddAsync and RemoveAsync --- samples/SocketsSample/Hubs/Chat.cs | 19 +++ samples/SocketsSample/wwwroot/hubs.html | 151 ++++++++++++------ .../IGroupManager.cs | 4 +- src/Microsoft.AspNetCore.SignalR/Proxies.cs | 4 +- 4 files changed, 126 insertions(+), 52 deletions(-) diff --git a/samples/SocketsSample/Hubs/Chat.cs b/samples/SocketsSample/Hubs/Chat.cs index 253d661596..0d05dcde30 100644 --- a/samples/SocketsSample/Hubs/Chat.cs +++ b/samples/SocketsSample/Hubs/Chat.cs @@ -20,5 +20,24 @@ namespace SocketsSample.Hubs { return Clients.All.InvokeAsync("Send", Context.ConnectionId + ": " + message); } + + public Task SendToGroup(string groupName, string message) + { + return Clients.Group(groupName).InvokeAsync("Send", Context.ConnectionId + ": " + message); + } + + public async Task JoinGroup(string groupName) + { + await Clients.Group(groupName).InvokeAsync("Send", Context.Connection.ConnectionId + " joined " + groupName); + + await Groups.AddAsync(groupName); + } + + public async Task LeaveGroup(string groupName) + { + await Groups.RemoveAsync(groupName); + + await Clients.Group(groupName).InvokeAsync("Send", Context.Connection.ConnectionId + " left " + groupName); + } } } diff --git a/samples/SocketsSample/wwwroot/hubs.html b/samples/SocketsSample/wwwroot/hubs.html index 313c1004f0..a26c706274 100644 --- a/samples/SocketsSample/wwwroot/hubs.html +++ b/samples/SocketsSample/wwwroot/hubs.html @@ -5,6 +5,7 @@