Avatar billede dr.truti Nybegynder
26. august 2001 - 13:11 Der er 9 kommentarer og
1 løsning

FTP Online Tester........

Hej.. Jeg har lige et lille prob.

Jeg skal teste om en FTP server en online, og det skal helst gå ret hurtigt. Da mit program måske skal køre 200 - 300 FTP servere igennem så kort tid som muligt, Jeg ved godt det også at hastig heden også hænger sammen med hvilen opkobling man har. Jeg regner med at for et 56K modem skal det maks tage 2 minuter. Men jeg skal finde ud at om serveren er online så jeg tænkte jeg kunne bruge princippet i en port scanner bare kun scanne port 21 for at se om den er åben eller lukket. Men så er der lige at hvis den er åben skal an picture boks blive grøn og hvis den er lukket skal den blive rød.

Jeg har afsat reg mange point efter min mening da jeg håber at i vil lave nogle eksempler :-D

Truti [DK]
ICQ: 72755522
Mail: maac@mail1.stofanet.dk
Avatar billede xero Nybegynder
26. august 2001 - 13:16 #1
hmm.. parserfejl på mail adressen?
Avatar billede dr.truti Nybegynder
26. august 2001 - 15:14 #2
xero > Jaaa Det er eksperten der ikke kan tage så lange mail adresser :(
Avatar billede driis Nybegynder
26. august 2001 - 21:32 #3
Hvis du har en Command button ved navn \'Go\' og en WinSock kontrol ved navn \'WSock\' på din form, tester flg. kode for om en given server er online, når du klikker på Go. Du skal bare sætte en løkke ind, så du kører koden under Command_Click flere gange, men med ændret IP, og så indsætte din egen kode under Select...Case i stedet for de MsgBox\'e jeg har lavet:


Private Declare Function GetTickCount Lib \"kernel32\" () As Long
Dim IP As String
Dim t1 As Long
Dim t2 As Long
Dim Port As Long
Dim Wait As Byte
Dim TimeOut As Long

Private Sub Go_Click()

IP = \"ftp.mobilixnet.dk\"
Port = 21
TimeOut = 2000

WSock.RemoteHost = IP
WSock.RemotePort = Port

t1 = GetTickCount
Wait = 0
WSock.Connect
While Wait = 0
    DoEvents
    t2 = GetTickCount - t1
    Debug.Print \"wait\", t2
    If t2 > TimeOut Then Wait = 2
Wend

Select Case Wait
    Case 1
        \'forbindelse er oprettet
        MsgBox \"Forbindelsen til serveren \" + IP + \", port \" + CStr(Port) _
          + \" blev oprettet på \" + CStr(t2) + \" millisekunder.\", vbInformation, \"Success!!\"
    Case 2
        \'forbindelse ej oprettet
        MsgBox \"Forbindelsen til serveren \" + IP + \", port \" + CStr(Port) + \" kunne ikke oprettes.\" _
          + vbCrLf + \"(T=\" + CStr(t2) + \" millisekunder.\", vbInformation, \"Fejl!!\"
    Case Else
        MsgBox \"Programmet er stødt på en uforudset fejl. Server status ukendt.\" + vbCrLf _
          + IP + \", port \" + CStr(Port) + \", T=\" + CStr(t2) + \" millisekunder\"
End Select

WSock.Close

End Sub

Private Sub WSock_Connect()
Wait = 1
End Sub
Avatar billede driis Nybegynder
26. august 2001 - 21:35 #4
... og du kan selvflg. fjerne Debug.Print linien.
Avatar billede driis Nybegynder
28. august 2001 - 17:55 #5
Kan det bruges?
Avatar billede dr.truti Nybegynder
28. august 2001 - 22:51 #6
Hved du hvad du er driis ?
Avatar billede dr.truti Nybegynder
28. august 2001 - 22:51 #7
ved even
Avatar billede driis Nybegynder
29. august 2001 - 16:20 #8
Næhhh ?
Avatar billede dr.truti Nybegynder
29. august 2001 - 17:20 #9
Genial !!!!!
Avatar billede dr.truti Nybegynder
29. august 2001 - 17:20 #10
Du skal selv følgelig have de 300 Point :)
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