Avatar billede Slettet bruger
28. februar 2007 - 22:21 Der er 3 kommentarer og
1 løsning

Mærkelig fejl, timer starter ikke

Jeg har en connect tråd der connecter til min server, i den tråd starter jeg en timer. I en periode virkede det fint. Men nu pludselig ikke. Timeren starter ikke.









ServerConnection = new TcpClient(AddressFamily.InterNetwork);
                ServerConnection.Client.Connect(ServerAddress);
                Connected = true;

                Reader = new StreamReader(ServerConnection.GetStream());
                Writer = new StreamWriter(ServerConnection.GetStream());

                ListenThread = new Thread(new ThreadStart(ReceiveFromServer));
                ListenThread.Start();

                PingTimeStart = DateTime.Now;
                TimeoutTimer = new System.Windows.Forms.Timer();
                TimeoutTimer.Interval = 1000;
                TimeoutTimer.Tick += new EventHandler(TimeoutTimer_Tick);
                TimeoutTimer.Start();

                if (ReconnectTimer != null)
                    ReconnectTimer.Stop();

                if (TimeToNextAttemptTimer != null)
                    TimeToNextAttemptTimer.Stop();


SendCommand(F1.IsCmdChar + "Login" + F1.CmdChar + F1.Settings.Username + F1.CmdChar + F1.Settings.ListenPort.ToString() + F1.CmdChar + F1.Settings.LANIP.ToString() + F1.CmdChar + F1.Settings.WANIP.ToString());

Sætter jeg en msgbox ind til sidst, starter den nogengange! sætter jeg flere ind starter den hver gang!?

Har set lignende problem i andre situationer

HELP
Avatar billede tuxic Nybegynder
03. marts 2007 - 23:32 #1
Jeg har oplevet at Timers er ganske ustabile. Fx at en timer der skulle fyre hvert sek kunne være måske 15 sek om at gøre det (men så fik man også alle 15 kald lige efter hinanden).

En ting der kan fremprovokere situationen er hvis CPU i øvrigt er hårdt belastet. Hvis din ListenThread eller tråden der lave den nye TcpClient arbejder hårdt og dermed ikke slipper fra CPU'en vil kaldene fra Timer ikke komme. Se fx hvad CPU load er i TaskManageren. Den burde jo helst være meget lav.

Hvis du viser en messagebox, blokerer (ca, men i denne situation kan man jo tænke på det som sådan) tråden der viser messageboxen og derved kan den jo fjernes fra CPU'en og dermed kan Timeren komme til. Det kan jo forklare hvorfor det hjælper at vise en msgbox.

Så alt i alt er det svært at give et meget specifikt råd, når man ikke har adgang til al din kode.
Avatar billede Slettet bruger
19. marts 2007 - 14:23 #2
df
Avatar billede tuxic Nybegynder
20. marts 2007 - 20:04 #3
(bare af interesse) hvad betyder df?
Avatar billede Slettet bruger
20. marts 2007 - 20:26 #4
jeg lukkede spørgsmålet, betyder ikke noget
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester