embret Skrevet 28. oktober 2004 Del Skrevet 28. oktober 2004 (endret) Halla har laget et lite program her som skal lese recipient to: feltet naar jeg sender mail. Men jeg faar bare kjoet gjennom en gang dvs at jeg ma starte programmet for hver mail jeg sender, og det er ikke saa gunstig. Hvis noen hadde funnet den feilen jeg har gjort hadde det vaert fint:) smtpprox.pm Endret 28. oktober 2004 av embret Lenke til kommentar
sam2 Skrevet 28. oktober 2004 Del Skrevet 28. oktober 2004 Bra at noen poster kode her.. Er ingen hacker med sockets, men studerte koden litt og tror at feilen ligger i at du har blingset en smule med logikken, slik at parent blir sittende fast i den andre while(1) sløyfen og dermed ikke kan motta flere forbindelser. Jeg ville opprettet to subrutiner som child procs kan benytte for å håndtere tilkoblinger, da får du mer oversiktelig kode. Noe slik kanskje: while (1) { #parent venter på forb. #... if ($client == $smtpSoc) { if ($pid = fork) { #parent close $connect; } else { #child DoSMTPSocStuff(ARGS); } } if {$client == $SMTPQuery) { if ($pid = fork) { #parent close $connect; } else { #child DoSMTPQueryStuff(ARGS); } } } En annen ting er at du vel burde bruke "use strict" her..fort å gå i surr når du får såpass langt script..samt skikkelig indentering skader heller ikke..men kult skript.Hva skal du bruke dette til? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå