private void NoActivityTimerCallback(object state) { ClientHandler clientHandler = (ClientHandler)state; Console.WriteLine("No activity from client, closing socket: " + DateTime.Now); --connectionsCount; clientHandler.CloseConnection(); clientHandler.noActivityTimer.Dispose(); GC.Collect(); GC.WaitForPendingFinalizers(); }
public ActionResult SaveFlightDataList(string fileName, List <FlightData> flightDataList) { ClientHandler clientHandler = new ClientHandler(); clientHandler.CloseConnection(); if (fileName == String.Empty || flightDataList == null || flightDataList.Count == 0) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "File name or data is missing")); } FileManager <List <FlightData> > fManager = new FileManager <List <FlightData> >(); bool hasDataSaved = fManager.SaveData(fileName, flightDataList); if (!hasDataSaved) { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Saving data has failed")); } return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public ActionResult DisplayFlight(string ip, int port, double interval) { IPAddress ipAddr; if (IPAddress.TryParse(ip, out ipAddr)) { Session["IP"] = ip; Session["Port"] = port; Session["Interval"] = interval; ClientHandler clientHandler = new ClientHandler(); clientHandler.CloseConnection(); return(View("DisplayFlight")); } else { Session["FileName"] = ip; Session["Interval"] = port; return(View("ViewFlightData")); } }