Avatar billede arcanex Nybegynder
16. februar 2005 - 17:27 Der er 8 kommentarer og
1 løsning

Problem med lukning af TcpClient

Jeg er ved at lave en IrcClient, men når jeg skal lukke programmet ned får jeg en IOException. jeg tror problemet er at jeg skal lukke TcpClienten, Stream, WriterStream og ReaderStream ned i rigtig rækkefølge eller deromkring. Men i kan lige se noget af koden.


stream = client.GetStream();
writer = new StreamWriter(stream);
reader = new StreamReader(stream);
       
writer.WriteLine("NICK " + nick);       
writer.Flush();
writer.WriteLine("USER " + user + " 0 * :" + realname);  writer.Flush();
connected = true;
while(connected)
{
    try
    {
        data = reader.ReadLine();
        if(data.Length > 0)               
        {
                if(data.StartsWith("PING"))                        {
                  writer.WriteLine("PONG :" +
                              data.Substring(6));
                  writer.Flush();
                  writer.WriteLine("JOIN :" + channel);
                  writer.Flush();
            }
                else
                {
                          parser.ParseData(data);       
            }
        }
    }
}

Så har jeg lavet så den kører dette når formen lukker:

public void Close()
        {
                this.connected = false;
            this.client.Close();
            this.stream.Close();
            this.writer.Close();
            this.reader.Close();
        }

Hvis jeg fanger IOException´en, så tager det bare 10 sec før den lukker ned. Håber i kan hjælpe med problemet :)
Avatar billede arcanex Nybegynder
16. februar 2005 - 17:28 #1
I skal ikke tage jer af klammerne, det er lidt svært at paste herind :)
Avatar billede arne_v Ekspert
16. februar 2005 - 17:39 #2
1. reader + writer
2. stream
3. socket/webclient
Avatar billede arcanex Nybegynder
16. februar 2005 - 18:38 #3
Okay, kan jeg få dig til at forklare mig hurtigt hvorfor ? :)
Avatar billede arcanex Nybegynder
16. februar 2005 - 18:40 #4
Nej, det giver egentlig lidt sig selv nu jeg tænker over det.

Jeg takker og hvis du smider et svar så venter der 60point :)
Avatar billede arcanex Nybegynder
16. februar 2005 - 18:45 #5
Jeg får dog stadig den exception. Den skriver som info 
"Unable to read data from the transport connection."

Har du nogle bud på hvor fejlen kan ligge ? Eller hvordan jeg kan løse det ?
Avatar billede arcanex Nybegynder
16. februar 2005 - 19:03 #6
Okay, nu har jeg fået det lavet ordentligt.

Smid et svar.
Avatar billede arne_v Ekspert
16. februar 2005 - 19:13 #7
Lukkes connection i den anden ende ?

I så fald skal du jo nok catche den exception.
Avatar billede arne_v Ekspert
16. februar 2005 - 19:13 #8
svar
Avatar billede arcanex Nybegynder
17. februar 2005 - 17:44 #9
Jeg catcher også den exception nu, så det virker fint nok.
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