ich bin neulich auf der suche einer Möglichkeit zum raus finden der öffentlichen IP auf etwas gestoßen.
your-public-ip-stun-protocol und wollt das mal in PB schreiben.
Allerdings hapert es schon bei ReceiveNetworkData

Code: Alles auswählen
Structure tSTUN
Header.b[8]
Header_ID.b[12]
Type.b[2]
Length.b[2]
Attrib.b
Family.b
Port.b[2]
IP.b[4]
EndStructure
Define iConnect, sServer.s, lPort.l, iLen
Define x
Define *bToSend, *bToRecv.tSTUN
*bToSend = AllocateMemory(20)
*bToRecv.tSTUN = AllocateMemory(1280)
PokeQ(*bToSend, $0001000000000000)
RandomData(*bToSend + 8, 12)
sServer = "stun.l.google.com"
lPort = 19302
iLen = 1280
InitNetwork()
iConnect = OpenNetworkConnection(sServer, lPort, #PB_Network_UDP)
If iConnect
If SendNetworkData(iConnect, *bToSend, 20) = 20
For x = 1 To 3
Debug ReceiveNetworkData(iConnect, *bToRecv, 20)
Delay(10)
Next
EndIf
CloseNetworkConnection(iConnect)
EndIf