Hallo!
Ich tätige gerade meine ersten Gehversuche mit IPv6 (via WinSocks 2.2), wobei ich versuche mittels IPv6 zu dem bei PB mitgelieferten Network-Server zu connecten. Bei connect_() erhalte ich als Rückgabe immer -1, aber ich komm selbst nicht drauf, was schief läuft.
Macro mkword (low, high)
(low + (high << 8))
EndMacro
#IPPROTO_IPV6 = 41
#AF_INET6 = 23
#TCP = #PB_Network_TCP
#UDP = #PB_Network_UDP
WS2Lib = OpenLibrary (-1,"WS2_32.DLL")
If WS2Lib
Prototype.i pInetPton (Family.i, pszAddrString.s, *pAddrBuf)
Global InetPton.pInetPton = GetFunction(WS2Lib, "inet_pton")
Else
Debug "WS2_32.DLL could not be opened!"
End
EndIf
Procedure MyIPv6Connection (IPAddress$, Port.u, Mode.i = #TCP)
Protected s.i = SOCKET_(#AF_INET6, Mode, #Null)
If s <> -1
Protected inf.sockaddr_in, buf.q
InetPton(#AF_INET6,IPAddress$,@buf)
inf\sin_family = #AF_INET6
inf\sin_port = htons_(Port)
inf\sin_addr = buf
Debug connect_(s,inf,StringByteLength(IPAddress$)) ;<- gibt -1 aus.
Else
ProcedureReturn #False
EndIf
EndProcedure
If WSAStartup_(mkword(2,2),@wsa) ! 1
MyIPv6Connection("::1",6832)
Else
Debug "Fehler!"
EndIf
WSACleanup_()
Danke im Voraus,
Mok
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Bist du sicher, dass die Werte der Konstanten wirklich brauchbar sind für die WinAPI Funktionen?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
DarkDragon hat geschrieben:Hast du IPv6 überhaupt in deinem Netzwerkinterface eingestellt?
Ja.
@Topic: Der Source ist alt und falsch, ich werd einen neuen Code zusammenbasteln und dann nochmal posten.
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl