public static void keepAlive() { lock (userlist) { removeUsers.Clear(); for (int i = 0; i < MainServer.userlist.Count; i++) { TimeSpan timespan = DateTime.Now - MainServer.userlist[i].lastPingTime; if (timespan.TotalSeconds > 15) { Console.WriteLine("user가 비정상으로 끊겼다." + MainServer.userlist[i].token.socket.Handle); removeUsers.Add(MainServer.userlist[i]); userlist.Remove(MainServer.userlist[i]); } } for (int i = 0; i < removeUsers.Count; i++) { MainServer.UnNormalRemoveUser(removeUsers[i]); } } }
void IPeer.on_removed() { MainServer.NormalRemoveUser(this); }