2013-12-08 2 views
1

안녕하세요, 저는 SignalR에서 다른 그룹을 만들려고 노력하고 있습니다. 이제는 해당 그룹의 특정 그룹에 대한 메시지 만 보내려고합니다. 허브에 걸려온 발신자가 어떤 그룹에 속해 있는지, 해당 그룹의 메시지를 적절하게 전달할 수있는 방법을 알 수 있습니까? 어떤 도움이 많이 appriciated됩니다ASP.NET SignalR : 특정 발신자의 그룹 이름을 얻는 방법?

public Task JoinGroup(string groupName) 
    { 
     return Groups.Add(Context.ConnectionId, groupName); 
    } 

    public Task LeaveGroup(string groupName) 
    { 
     return Groups.Remove(Context.ConnectionId, groupName); 
    } 

    public void SendToGroup(string groupName,string name, string message) 
    { 
     Clients.Group(groupName).addChatMessage(name, message); 
    } 

:

여기 내 서버 측 코드입니다.

답변

3

"발신자"와 관련된 그룹을 확인하려면 해당 정보를 직접 추적해야합니다.

연결 ID를 사용자가 정의한 일종의 사용자 개체에 매핑하는 정적 ConcurrentDictionary를 통해이 작업을 수행 할 수 있습니다. 그런 다음 OnConnected에서 추가하고 OnDisconnected에서 제거 할 수 있습니다. 따라서 사용자를 그룹에 추가 할 때마다 사용자 개체의 해당 정보를 추적 할 수 있습니다.

희망이 도움이됩니다.

+0

고마워요. 알아 냈습니다. 내 응용 프로그램이 실행 중입니다. :) –

관련 문제