示例#1
0
        private void Token_UserDisconnect(ASyncToken arg1, string arg2)
        {
            if (arg1.UserToken != null)
            {
                var user = arg1.Token <UserInfo>();
                if (user != null && user.FilePushDictionary.Count > 0)
                {
                    foreach (var item in user.FilePushDictionary.Values)
                    {
                        item.Dispose();
                    }
                }
                user.FilePushDictionary.Clear();

                if (user != null && user.FileGetDictionary.Count > 0)
                {
                    foreach (var item in user.FileGetDictionary.Values)
                    {
                        item.Dispose();
                    }
                }

                user.FileGetDictionary.Clear();
            }
        }
示例#2
0
        private static void AsyncUser_UserDisconnect(ASyncToken arg1, string arg2)
        {
            var userinfo = arg1.Token <UserInfo>();

            if (userinfo != null)
            {
                lock (UserList)
                {
                    if (UserList.Contains(userinfo))
                    {
                        UserList.Remove(userinfo);
                    }

                    foreach (var item in UserList)
                    {
                        item.token.RemoveUser(userinfo);
                    }
                }
            }
        }