示例#1
0
        //public void SendMessageToAll(string userName, string message)
        //{
        //    // store last 100 messages in cache
        //    AddMessageinCache(userName, message);

        //    // Broad cast message
        //    Clients.All.messageReceived(userName, message);
        ////}
        //public void SendPrivateMessage(string toUserId, string message)
        //{

        //    string fromUserId = Context.ConnectionId;

        //    var toUser = ConnectedUsers.FirstOrDefault(x => x.ConnectionId == toUserId);
        //    var fromUser = ConnectedUsers.FirstOrDefault(x => x.ConnectionId == fromUserId);

        //    if (toUser != null && fromUser != null)
        //    {
        //        // send to
        //        Clients.Client(toUserId).sendPrivateMessage(fromUserId, fromUser.UserName, message);

        //        // send to caller user
        //        Clients.Caller.sendPrivateMessage(toUserId, fromUser.UserName, message);
        //    }
        //}
        public override Task OnDisconnected()
        {
            string connectionid = Context.ConnectionId;
            var    item         = ConnectedUsers.FirstOrDefault(x => x.ConnectionId == connectionid);

            if (item != null)
            {
                ConnectedUsers.Remove(item);

                if (Gruplar.GrupListesi.Count != 0)
                {
                    Gruplar.GrupdanUyeDusur(item, connectionid);
                }
                //var id = Context.ConnectionId;
                //Clients.All.onUserDisconnected(id, item.UserName);
            }

            return(base.OnDisconnected());
        }