Esempio n. 1
0
        public void Destroy()
        {
            saveMap_timer.Stop();
            saveMap_timer.Tick -= SaveMap_timer_Tick;
            saveMap_timer       = null;

            checkOnlineUsers_timer.Stop();
            checkOnlineUsers_timer.Tick -= CheckOnlineUsers_timer_Tick;
            checkOnlineUsers_timer       = null;

            waitOnline_timer.Stop();
            waitOnline_timer.Tick -= WaitOnline_timer_Tick;
            waitOnline_timer       = null;

            IP_timer.Stop();
            IP_timer.Tick -= IP_timer_Tick;
            IP_timer       = null;

            lock_timer.Stop();
            lock_timer.Tick -= Lock_timer_Tick;
            lock_timer       = null;

            refreshIndicator_timer.Stop();
            refreshIndicator_timer.Tick -= RefreshIndicator_timer_Tick;
            refreshIndicator_timer       = null;

            doc = null;
            UsersOnline.Clear();
        }
Esempio n. 2
0
        public void dependency_OnChange(object sender, SqlNotificationEventArgs e)
        {
            UsersOnline uo = new UsersOnline();

            uo.Check();
            uo.Messagess();
        }
Esempio n. 3
0
        public void GetOnlineUsers()
        {
            if (m_Status != "online")
            {
                return;
            }

            UsersOnline.Clear();

            DateTime _utcnow      = DateTime.UtcNow;
            string   _currentuser = m_PlacePath + SUtils.currentUserName + ".online";

            StreamWriter sw = null;

            try
            {
                if (File.Exists(_currentuser))
                {
                    sw = new StreamWriter(_currentuser);
                }
                else
                {
                    sw = new StreamWriter(File.Create(_currentuser));
                }

                sw.Write(_utcnow.ToString(), false); // false = overwrite
                sw.Close();
            }
            catch { } // TODO

            string[] files = Directory.GetFiles(m_PlacePath, "*.online");

            for (int i = 0; i < files.Count(); i++)
            {
                if (files[i] == _currentuser)
                {
                    continue;
                }

                string _user = Path.GetFileNameWithoutExtension(files[i]);

                try
                {
                    StreamReader sr    = new StreamReader(files[i]);
                    DateTime     _time = Convert.ToDateTime(sr.ReadLine()).AddMinutes(10);
                    sr.Close();

                    if (_time < _utcnow)
                    {
                        File.Delete(files[i]); // user will be removed via Watcher
                    }
                    else
                    {
                        UsersOnline.Add(_user);
                    }
                }
                catch { } // TODO
            }
        }
Esempio n. 4
0
        public StunServer(int refreshInterval, SynchronizationContext ctx)
        {
            _synchronization = ctx;
            _refreshMs       = refreshInterval;
            var blackHole = new UndefinedResolver();

            userResolver = new UsersOnline();
            authresolver = new Authentification();

            var routes = authresolver.Compose(userResolver, blackHole);

            observer = new UDPObserver(_serverPort, ctx, routes);
            _client  = new UdpClient(AddressFamily.InterNetwork);
        }
        private string GetUserOnlineList()
        {
            UsersOnline uo          = new UsersOnline();
            string      sOnlineList = uo.GetUsersOnline(PortalId, ModuleId, ForumUser);
            IDataReader dr          = DataProvider.Instance().Profiles_GetStats(PortalId, ModuleId, 2);
            int         anonCount   = 0;
            int         memCount    = 0;
            int         memTotal    = 0;

            while (dr.Read())
            {
                anonCount = Convert.ToInt32(dr["Guests"]);
                memCount  = Convert.ToInt32(dr["Members"]);
                memTotal  = Convert.ToInt32(dr["MembersTotal"]);
            }
            dr.Close();
            string sUsersOnline = null;

            sUsersOnline = Utilities.GetSharedResource("[RESX:UsersOnline]");
            sUsersOnline = sUsersOnline.Replace("[USERCOUNT]", memCount.ToString());
            sUsersOnline = sUsersOnline.Replace("[TOTALMEMBERCOUNT]", memTotal.ToString());
            return(BuildOutput(sUsersOnline + " " + sOnlineList, OutputCodes.Success, true, false));
        }
 private string GetUserOnlineList()
 {
     UsersOnline uo = new UsersOnline();
     string sOnlineList = uo.GetUsersOnline(PortalId, ModuleId, ForumUser);
     IDataReader dr = DataProvider.Instance().Profiles_GetStats(PortalId, ModuleId, 2);
     int anonCount = 0;
     int memCount = 0;
     int memTotal = 0;
     while (dr.Read())
     {
         anonCount = Convert.ToInt32(dr["Guests"]);
         memCount = Convert.ToInt32(dr["Members"]);
         memTotal = Convert.ToInt32(dr["MembersTotal"]);
     }
     dr.Close();
     string sUsersOnline = null;
     sUsersOnline = Utilities.GetSharedResource("[RESX:UsersOnline]");
     sUsersOnline = sUsersOnline.Replace("[USERCOUNT]", memCount.ToString());
     sUsersOnline = sUsersOnline.Replace("[TOTALMEMBERCOUNT]", memTotal.ToString());
     return BuildOutput(sUsersOnline + " " + sOnlineList, OutputCodes.Success, true, false);
 }
Esempio n. 7
0
 public void RemoveUser(string userName)
 {
     UsersConnections.Remove(UsersOnline[userName]);
     UsersOnline.Remove(userName);
 }
Esempio n. 8
0
 public void AddUser(string userName, string ConnectionId)
 {
     UsersOnline.Add(userName, ConnectionId);
     UsersConnections.Add(ConnectionId, userName);
 }