Avatar billede long Nybegynder
09. juni 1999 - 01:47 Der er 5 kommentarer

Events ?

Jeg leger lidt med IPworks'' IPPort:
http://www.dev-soft.com/ctl_IPPort.htm

Den kører fint, men fyrer nogle events af, som jeg ikke kan finde ud af at fange :(

Hvordan får jeg den til det?

Her er min kode:

Option Explicit

Dim WhoIsServer, TopDomain, Domain As String
Dim n As Integer
Dim Finished As Boolean

Sub Cgi_Main()
    On Error GoTo errHandl
   
    Domain = GetCgiValue("Domain")
   
    n = InStrRev(Domain, ".")
    If Not n = 0 Then
        TopDomain = Mid(Domain, n)
        TopDomain = LCase(TopDomain)
        If TopDomain = ".com" Or TopDomain = ".net" Or TopDomain = ".org" Then
            WhoIsServer = "whois.internic.net"
        ElseIf TopDomain = ".se" Then
            WhoIsServer = "whois.nic-se.se"
        Else
            WhoIsServer = "whois.ripe.net"
        End If
    End If
   
    Set IPPort1 = New IPPort
   
    IPPort1.WinsockLoaded = True
   
    IPPort1.EOL = Chr$(10)
   
    ''close old connections (if any)
    If IPPort1.Connected Then IPPort1.Connected = False
   
    SendHeader ("WhoIs : " & Domain)
   
    ''set the remote host
    Send ("Looking up host " & WhoIsServer & "...")
    IPPort1.RemoteHost = WhoIsServer
    IPPort1.RemotePort = 43
   
    ''attempt connection
    Send ("Connecting to " & IPPort1.RemoteHost & "...")
    IPPort1.Connected = True
   
    ''wait until the connection is achieved
    ''(timeout in 10 seconds)
    ''Dim After10Seconds As Timer
    After10Seconds = Now + 10# / (3600# * 24#)
    Do Until Now > After10Seconds
        If IPPort1.Connected Then Exit Do
        DoEvents
    Loop
    If Not IPPort1.Connected Then
        Send "Connection timed out."
        Exit Sub
    End If
   
    ''send the data
    IPPort1.DataToSend = Domain & Chr$(13) & Chr$(10)
   
    SendFooter
   
    Exit Sub

errHandl:
   
    Send (Err.Description)

End Sub


Sub IPPort1_Connected(StatusCode As Integer, Description As String)
   
    ''tResponse.SelStart = Len(tResponse.Text)
   
    If StatusCode = 0 Then    ''OK!!
        ''tResponse.SelText = "Connected.  Waiting for data..." & Chr$(13) & Chr$(10) & Chr$(13) & Chr$(10)
        Send ("Connected.  Waiting for data..." & Chr$(13) & Chr$(10) & Chr$(13) & Chr$(10))
    Else
        ''tResponse.SelText = "Connection failed: " & Description & Chr$(13) & Chr$(10) & Chr$(13) & Chr$(10)
        Send ("Connection failed: " & Description & Chr$(13) & Chr$(10) & Chr$(13) & Chr$(10))
    End If
   
End Sub

Sub IPPort1_DataIn(Text As String, EOL As Integer)
   
    ''tResponse.SelStart = Len(tResponse.Text)
    ''tResponse.SelText = Text & Chr$(13) & Chr$(10)
    Send (Text & Chr$(13) & Chr$(10))
   
End Sub

Sub IPPort1_Disconnected(StatusCode As Integer, Description As String)

    Finished = True
    ''tResponse.SelStart = 0

End Sub
Avatar billede 127144146281 Nybegynder
09. juni 1999 - 16:01 #1
hvad er det den ikke fanger?
Avatar billede long Nybegynder
09. juni 1999 - 22:45 #2
IPPort1.DataToSend sender noget data.

IPPort1_DataIn og IPPort1_Disconnected og IPPort1_Connected skal så udføres via kald fra IPPort1.DataToSend, men der sker intet.

Mit problem er at jeg ikke ved hvordan man sætter dem til det?
Avatar billede 127144146281 Nybegynder
09. juni 1999 - 23:06 #3
Jeg tror det vil være nemmere at lave det med den Winsock.ocx der følger med VB, komme lge tilbage med noget kode
Avatar billede 127144146281 Nybegynder
18. juni 1999 - 22:38 #4
Men som et CGI Script det ved jeg nu ikke
Avatar billede chris2k Nybegynder
04. januar 2001 - 21:37 #5
Nu er VB noget lort til CGI. Det kører meget dårligt.

Brug asp
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