I am using SignalR in .NET 4.8 with Angular, and I’m trying to receive chat messages in a group. Below is my code:
Server-side (C#):
public void SendMessageToTestGroup(string message, string senderName)
{
var connectionId = Context.ConnectionId;
var users = _connection.Where(k => k.Key == connectionId).Select(k => new { k.Value.User, k.Value.Room });
Clients.Group("TestGroup").ReceiveTestGroupMessage(senderName, message);
}
public void JoinToTestGroup()
{
Groups.Add(Context.ConnectionId, "TestGroup");
Clients.Group("TestGroup").NewRoomCreated("");
SendAllGroups();
}
Client-side (Angular):
this.proxy_48.on('ReceiveTestGroupMessage', (user: string, message: string) => {
debugger
console.log(message);
this.messages = [...this.messages, { user, message }];
this.messages$.next(this.messages);
});
I’m adding the user to the group using the JoinToTestGroup
method. However, I’m not receiving messages on the frontend when using Clients.Group("TestGroup").ReceiveTestGroupMessage(senderName, message);
.
To test, I changed the code to Clients.All.ReceiveTestGroupMessage(senderName, message);
and I was able to receive the message. Can you please suggest why Clients.Group("TestGroup").ReceiveTestGroupMessage(senderName, message);
is not working?