getInternetIP() — Nur 14 Zeilen; crossplattform

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

> Geht es bei euch auch jetzt?
es geht, gibt als ergebnis aber 0.0.0.0 aus, egal ob unicode, ascii, 32 oder 64 bit

aäb cde fgh ijk lmn oöp qrsß tuü vwx yz AÄBC DEF GHI JKL MNO ÖPQ RST UÜV WXYZ ! "§
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
kswb73
Beiträge: 319
Registriert: 04.02.2008 16:51
Kontaktdaten:

Beitrag von kswb73 »

Bei mir kommt die IP und auch die richige. Hab' Windows XP. Die Idee ist auf jeden Fall gut. Wenn ich mal ein Multiplayer Spiel programmiere werde ich's sicher einbauen.
Windows XP: PB 4.31, PB 4.4, PB 4.51
Open Suse 11.2: PB 4.4
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

@ TS-Soft:
Ich kann dich nur bitten, den Code Stück für Stück zu debuggen: Wird die Datei runtergeladen? Debug 1 hintersetzen. Wird die Datei gelesen? Debug 2 hintersetzen. Und so weiter.

Vielleicht kannst du mir dann ja genauer sagen, wo der Fehler bei dir liegt. Sitzt du vielleicht hinterm Proxy? Du weißt ja, PB kann keine einfachen Dinge wie Proxy-Connections. Traurig, aber wahr.

@ kswb73:
Vielen Dank für dein Feedback! Falls du den Code irgendwann mal benutzt, dann vergewisser dich, dass du eine eigene URL einsetzt, ich kann nicht garantieren, dass meine Seite für immer bestehen bleibt.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Irgendwie spinnt meine Firewall, statt mich zu fragen, läßt es pb einfach nicht durch :freak:
Ohne Firewall gehts :wink:

// edit
Bei PureBasicocmpilation0.exe hab ich wohl mal zurückweisen geklickt, kam bisher nur die 0er kompilation :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Ah, okay :)
Ich krieg es manchmal auch nicht gebacken, alle PUREBASIC_COMPILATION*.EXE als Ausnahme zur Whitelist meiner Firewall hinzuzufügen... :freak:

// Edit
Du blockierst deine eigenen PB-Programme? :freak:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

AND51 hat geschrieben:// Edit
Du blockierst deine eigenen PB-Programme? :freak:
Nein, nur die Codes aus dem PureBoard, die ich teste :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

also bei mir gehts inzwischen auch...

werde aber trotzdem weiterhin mein Code verwenden ^^

Code: Alles auswählen

InitNetwork()

Procedure.s InternetIP()
 Protected Event, Zeit, Buffer$ = Space(1024)
 Protected URL$ = "http://data.unionbytes.de/ip.php"
 Protected ConnectionID = OpenNetworkConnection(GetURLPart(URL$, #PB_URL_Site), 80) 
 If ConnectionID 
  SendNetworkString(ConnectionID, "GET "+URL$+" HTTP/1.0"+#LFCR$+#LFCR$) 
  Zeit = ElapsedMilliseconds()
  Repeat 
   Delay(1)
   Event = NetworkClientEvent(ConnectionID)
  Until Event Or ElapsedMilliseconds()-Zeit > 3000
  If Event = #PB_NetworkEvent_Data
   Size = ReceiveNetworkData(ConnectionID, @Buffer$, 1024) 
   ProcedureReturn Mid(Buffer$,FindString(Left(Buffer$, Size), #LFCR$, 1)+3)
  EndIf
 EndIf 
EndProcedure

Debug InternetIP()
wäre cool wenn ihr den auch mal testet, damit ich auch weiß ob es überall geht, wo wir achon mal beim testen sind ^^
Zuletzt geändert von STARGÅTE am 10.07.2010 23:17, insgesamt 1-mal geändert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

STARGATE, kann es sein, dass du so'n bisschen noch an PB 3.30 hängst?
Dein Code funktioniert nur im ASCII-, nicht aber im Unicode-Modus.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@STARGÅTE
Debugger Ausgabe hat geschrieben:ㄯㄮ㈠〰传ോ䐊瑡㩥吠畨‬㠱匠灥㈠〰‸㐱㐺㨹㘲䜠呍਍敓癲牥›灁捡敨਍ⵘ潐敷敲ⵤ祂›䡐⽐⸴⸳ㄱ਍潃湮捥楴湯›汣獯൥䌊湯整瑮吭灹㩥琠硥⽴瑨汭਍਍㜷ㄮ㈳㈮㈰㈮㤳
:mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

>STARGATE, kann es sein, dass du so'n bisschen noch an PB 3.30 hängst?

ja ^^

>ts-soft

pech ^^

naja, bleibt es halt mein Code ...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Antworten