Avatar billede slapstick Nybegynder
01. marts 2004 - 10:09 Der er 1 kommentar og
1 løsning

winsock lukker ikke ordentligt

jeg har et problem med winsock
har lavet et prog der checker for et sikkerhedshul så man kan se om ens servere er patched op eller ej og det virker sådanset fint bortset fra 1 ting
hvis jeg feks vælger at bruge 50 sockets ad gangen(lavet et socketarray) så når den har checket de første 50 så skal den løbende lukke sockets efter sig og checke næste server i rækken
men efter et stykke tid er det som om den fyrer færre og færre connections af a la hvis det var færre og færre sockets hvilket jeg ik kan forstå da jeg laver en socket(index).close ved hver socket og laver connect til den næste host
jeg har så hørt noget om at selvom man laver en socket.close så kan den godt stå og hænge
er det nogen der har en løsning på det? kan man tvinge den til at afbryde connection totalt? og kan det løses ved at unloade den socket(den man vil lukke) fra sit socketarray og så loade en ny socket ind i sit array? og hvis det løser det skal man reindexe sit socket array eller?

jeg er ved at få totalt grå hår af det her hehe
Avatar billede j.latter Nybegynder
01. marts 2004 - 19:38 #1
Kan du ikke bruge:

Private Sub Sock_Close(Index As Integer)
Unload Sock(Index)
End Sub

?

Denne løsning har jeg brugt ved multi fobindelser i f.eks. chat-programmer, for de ikke skulle stå og sluge masser af ram, ved connect / disconnect....

/Jeffrey
Avatar billede slapstick Nybegynder
01. marts 2004 - 21:02 #2
nej fordi jeg bruger så mange sockets så er der en masse connections der hænger i time_wait tilstand
jeg har dog løst det ved dynamisk at unloade hver socket efter brug og så loade en ny socket ind i mit array bagefter
der hænger stadig lidt i timewait men programmet kører videre fordi man loader en ny socket og dem der hænger i time_wait dør hurtigt
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