Ich habe mal wieder ein Problem mit den Winsocks. Ich versuche den
Hostnamen mit der Funktion [c]getaddrinfo()[/c] auf zu lösen. Die
Prozedur gibt 0 zurück, das für keine Fehler steht.
Aber die Struktur tList bleibt bis auf ai_flags leer. Kann mir bitte
jemand helfen?
Code: Alles auswählen
    #AI_PASSIVE = 1
    #AI_CANONNAME = 2
    #AI_NUMERICHOST = 4
    Structure sAddrInfo
        ai_flags.l
        ai_family.l
        ai_socktype.l
        ai_protocol.l
        
        ai_addrlen.l
        ai_canonname.l
        
       *ai_addr.SOCKADDR
       *ai_next.sAddrInfo
    EndStructure
    Global WSA.WSADATA
     WSAStartup_(514, @wsa)
Procedure.l ResolveName(sHostName.s, lPort.l)
    DefType.sAddrInfo tHost, tList
    
    Select PeekB(@wsa\wVersion+1)&$FF
        Case 1 ; WinSck 1.1
        Case 2 ; WinSck 2.2
            tHost\ai_family = #AF_INET
            
            If SCK_getaddrinfo(sHostName, Str(lPort), @tHost, @tList) = 0
                If (tList\ai_flags & #AI_PASSIVE    ): Debug "PASSIVE"    : EndIf
                If (tList\ai_flags & #AI_CANONNAME  ): Debug "CANONNAME"  : EndIf
                If (tList\ai_flags & #AI_NUMERICHOST): Debug "NUMERICHOST": EndIf
                Debug Bin(tList\ai_flags)
                
            Else
                Debug "error"
            EndIf
    EndSelect
EndProcedure
ResolveName("www.google.de", 80)



