27. marts 2001 - 21:39Der er
9 kommentarer og 2 løsninger
Lave en timeout funktion i vb
Hvordan laver man en funktion i vb som gør at når jeg kører min streng igennem dén, den så tjekker at den får et respons i form af en eller anden værdi sendt fra serveren inden for xx antal sekunder?
Du kan evt. benytte en timer, sætte en værdi til false, og efter X antal sekunder tjekkes om den er true, hvilket du så sætter den til når serveren er færdig. Hvis der eks. er gået 10 sekunder uden at din værdi er true, sætter du variablen ExitNow til true.
Hvorfor skulle den ikke gøre det? Du tjekker bare efter eksempelvis 1 sekund. Resetter timeren efter hver afsendt besked. Osv. Så vil du bare max komme op på en ventetid pr. request på for eksempel 1 sekund.
Hallo, hvis jeg sender f.eks. 40 beskeder afsted fra client til server, så vil timeren blive nulstillet 39 gange, og den sidste vil løbe tiden ud... - det kan jeg ikke bruge, for så får jeg kun én tilbage melding om at data modtaget.
Det er jo ikke verdens største problem at slukke for timeren når dit loop er færdigt- Lidt almen programmør logik skader ikke. Hvordan kan du se et problem i det? Hvis du bruger Winsock, er der jo også timeout funktionen. Så er det bare at lave en \"On Error Goto\" som så bliver kaldt hvis timeout bliver overskredet.
Problemet er stadig at ved at sende 40 værdier afsted, lige så hurtigt som computeren nu kan, SKAL de alle få en godkendelse af serveren.
Dette vil ikke ske, hvis blot der sidder én timer, så skulle der i princippet oprettes 40 timere der hverisær kører hversin time funktion - dette vil jeg dog udenom da jeg har set et eksempel på det her på Eksperten, men kan ikke finde det nu (men du har efterhånden været så stædig at jeg er nødt til at bruge min tid på at finde det nu), plus at det vil optage flere ressourcer ved brug af x antal timere på serveren.
Lav dog en collection af ServerRequests eller hvad du nu vil kalde den...
Lad hver enkelt request have en ValidationString og ValidationTime... Når der kommer validering fra serveren kan du jo så sætte et eller andet flag... Hvis en validering oplever en timeout kan du jo raise en event...
Og check så collection\'en i ny og næ for at se om noget skulle være timeout\'ed :o)
Er jeg stædig? Her sidder man og prøver at hjælpe, hvis det irritere dig, så har jeg sgu ikke noget imod bare at holde min kæft. Som om jeg gider at beskæftige mig med en som ikke engang gider at blive hjulpet. Hvis du var en kreativ programmør ville du sagtens kunne få timer løsningen til at virke. Winsock timeout er også en mulighed. Men fuck det, nu er jeg færdig her.
Det irritere mig, du vil have det efter dit hovedet, når jeg som sagt siger det ikke vil virke som jeg skal have det til, uden at det vil blive klumset og gøre vb mere ustabil end det i forvejen er. - startede også ud med at sige at det ikke var det jeg ønskede, men du blev jo ved - istedet for at finde ud af andre løsninger, som Jennemaan nu lige har bidraget med - en løsning jeg ikke lige havde tænkt på; den er forholdvis enkel og derfor mere stabil og let at gå til.
op med humøret, I får begge nogle points
takker.
Synes godt om
Ny brugerNybegynder
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.