Avatar billede Slettet bruger
03. december 2006 - 19:24 Der er 4 kommentarer

Sikre at tråd lukker, how?

Jeg har en recieve thread med:

TcpClient client = Listener.AcceptTcpClient();

Men selvom jeg siger Abort på tråden, fanger min try/catch den ikke, fordi koden jo står "stille" på den linie.. hvordan sikre jeg at den lukker?
Avatar billede Slettet bruger
04. december 2006 - 11:29 #1
Anyone?:)
Avatar billede segato Nybegynder
04. december 2006 - 13:15 #2
Kode gør kun det de nbliver bedt om, og i dit tilfælde siger du lyt indtil der kommer en klient og lytter. Der er mange måder man kan komme ud af det på. TimeOut, asynkrone kald osv osv. prøv at kigge i den her tråd, der bliver svaret beskrevet meget godt:

http://www.dotnet247.com/247reference/msgs/16/84501.aspx
Avatar billede Slettet bruger
04. december 2006 - 13:47 #3
Jeg løste problemet sådan:

try
            {
                TcpListener Listener = new TcpListener(IPE);
                Listener.Start();

                while (true)
                {
                    try
                    {
                        if (Listener.Pending())
                        {
                            TcpClient client = Listener.AcceptTcpClient();

                            Client cClient = new Client(client);
                            ClientList.Add(cClient);

                            //fire event
                            ClientConnected(client, new ClientConnectedEventArgs(cClient));
                        }
                        else
                            Thread.Sleep(50);
                    }
                    catch { }
                }
            }
            catch (ThreadAbortException) { }
Avatar billede Slettet bruger
04. december 2006 - 13:48 #4
Jeg smed en Pending ind for at se om der er nogen i køen, hvis ikke, looper den bare igen
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