Avatar billede komp Nybegynder
10. december 2001 - 17:46 Der er 12 kommentarer og
1 løsning

Broken pipe

Hej

Jeg har lavet et program som henter nogle html-sider ned fra nettet. Men når jeg laver tråd på det, så kommer der flere broken pipes. Hvad er det og hvad skyldes det?

Operativsystemet er linux.
Avatar billede - Nybegynder
10. december 2001 - 18:11 #1
kan det evt. have noget at gøre med at systemet ikke har sluppet de porte som du bruger. Med flere tråde - flere åbne porte. Firewalls?? max antal tildelte sockets hvis du laver det fra et uddannelsessted??
Avatar billede komp Nybegynder
10. december 2001 - 18:20 #2
Det gør jeg. Hvad kan jeg gøre ved det?

Avatar billede - Nybegynder
10. december 2001 - 18:44 #3
Du får en broken pipe hvis server eller klient stopper af en eller anden grund. Ignorer SIGPIPE og kør vidre.
Avatar billede komp Nybegynder
10. december 2001 - 19:45 #4
hvad mener du med Ignorer SIGPIPE?
Avatar billede mickni33 Nybegynder
10. december 2001 - 20:16 #5
er din tråd funktion en fri global funktion?
For ellers har klasserne ikke adgang til den

og din while løkke skal selvfølgelig køre hele tiden

på server siden må du ikke have en sockfd.close();
Avatar billede komp Nybegynder
10. december 2001 - 20:46 #6
Funktionen er global. Hvad mener du med at min while-løkke skal køre hele tiden? Min application er en klient!
Avatar billede mickni33 Nybegynder
11. december 2001 - 08:43 #7
åååh OK
Troede du havde en server side også
Avatar billede mickni33 Nybegynder
11. december 2001 - 08:44 #8
Måske du kunne prøve at indkredse fejlen.

Virker den hvis du køre uden tråde ?
Avatar billede komp Nybegynder
11. december 2001 - 09:01 #9
Ja, så virker den fint.
Avatar billede mickni33 Nybegynder
11. december 2001 - 09:08 #10
Den gang jeg lavede noget ligende var der problemer når jeg brugte endl altså cout<<endl;
så jeg skiftede dem ud med cout<<\"\\n\"; og så virkede det spurgte nogle forskellige steder på nettet og fik det som svar.
Men jeg kan ikke lige huske om det var med broken pipe jeg havde mine fejl.

Har du også husket at bruge #define _REENTRANT ?
Avatar billede komp Nybegynder
11. december 2001 - 22:41 #11
Hej.

Jeg har først set dit svar nu og fik det op at køre for nogle timer siden, men du havde ret at det var endl. Opret et svar, så får du point.
Avatar billede mickni33 Nybegynder
12. december 2001 - 09:09 #12
Er det rigtigt? det er da utroligt med den <<endl,
For det er jo noget som man i sin vildeste fantasi ikke ville rode med med mindre man får det at vide. Men det var da godt det virker
Avatar billede komp Nybegynder
12. december 2001 - 15:08 #13
ja, jeg fatter heller ikke hvad den <<endl gør, som thread ikke kan li\'.
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
Kurser inden for grundlæggende programmering

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