Willkommen im #Neuland
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.

PQ Discord Server: #planetquake                                                                                                                                         Spenden? Hier entlang!

[c] lokale ip-addresse herausfinden?

Forum für alles rund ums Coden und web.design - HTML, XHTML, XML, CSS, PHP, ASP, Zugriffsrechten, Mods uvm.
Antworten
ap0calypse
Slash
Slash
Beiträge: 678
Registriert: Jan 2004
Wohnort: Wörgl / Tirol / Austria

Beitrag von ap0calypse »

morgen,

Meine Frage wird einigen hier wahrscheinlich sehr trivial vorkommen, aber wie bekomme ich mit einer Funktion die lokale IP-Adresse heraus? Habe mir schon einige man-pages angesehen, aber noch nichts gefunden, was meinen Wünschen entspricht. Ich suche quasi eine getlocaladdr()-Funktion. Kann mir jemand sagen ob es so etwas gibt ( wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht :rolleyes: ).

Und zweiteres: Ich bräuchte ein "Timer"-Element. In anderen Compilern die ich hatte, hatte ich die Funktion wait(), die finde ich aber hier nicht. Ich will einfach eine Funktion die ein paar Sekunden den Lauf anhält, so dass danach wieder alles normal weiterläuft.

Ich weiß, meine Fragen werden euch einfach erscheinen, aber könntet ihr euch trotzdem erbarmen? Ich bin auch mit Verweisen auf man-page Einträge zufrieden, solange sie mir helfen.

Danke schon mal im Voraus!

EDIT: hmmm inet_lnaof() schaut gut aus...
EDIT2: Ok ich habs geschafft .... :rolleyes:

Ausser das mit dem Timer ...

EDIT3:

Ok ich habe jetzt auf redhat, suse und slackware eine möglichkeit gefunden über die bash.

falls es wen interessiert:

grep $(hostname) /etc/hosts | cut -f 1

Das hol ich mir einfach, ist weniger komplex ;)

EDIT4: EDIT3 ist Schwachfug, funktioniert nicht wenn Clients die IP via DHCP bekommen :/ dann halt doch wieder zu C und zu gethostname() und gethostbyname() und inet_addr() ... :/
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Mithrandir
Razor
Razor
Beiträge: 1962
Registriert: Aug 2000
Wohnort: Aachen

Beitrag von Mithrandir »

Zu 2. könntest du dir mal http://www.delorie.com/gnu/docs/glibc/libc_445.html zu Gemüte führen. Ist in der glibc drin:

#include <unistd.h>
unsigned int sleep (unsigned int seconds)
The function sleep gives a simple way to make the program wait for a short interval. If your program doesn't use signals (except to terminate), then you can expect sleep to wait reliably throughout the specified interval. Otherwise, sleep can return sooner if a signal arrives; if you want to wait for a given interval regardless of signals, use select (see section 13.8 Waiting for Input or Output) and don't specify any descriptors to wait for.
[small]Viele Namen habe ich in vielen Ländern. Mithrandir heiße ich bei den Elben, Tharkûn bei den Zwergen;
Olórin war ich in meiner Jugend im Westen, der vergessen ist, im Süden Incánus, im Norden Gandalf; in den Osten gehe ich nicht.


J.R.R. Tolkien - The Lord Of The Rings[/small]
ap0calypse
Slash
Slash
Beiträge: 678
Registriert: Jan 2004
Wohnort: Wörgl / Tirol / Austria

Beitrag von ap0calypse »

Danke schon mal :)

Kann sleep() auch andere Werte als Sekunden haben? Weil eine Sekunde ist schon ziemlich lang ...

Offenbar nicht. unsigned int ... :/

Habe auf der Seite schon die Funktion nanosleep gefunden, die kleinere Werte übergeben bekommen kann.

Danke nochmal.

Bleibt nur noch das Problem mit der IP. Gibt es wirklich keine einfach Möglichkeit die IP eines Rechners herauszufinden? Ick kann mich noch an meine VisualBasic Zeit unter Windows erinnern, da war das ein Befehl. Kann ja nicht sein, dass das so schwer ist....
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Roughael
Stripe
Stripe
Beiträge: 2498
Registriert: Mär 2002

Beitrag von Roughael »

ähm wollt nur sagen, dass Sleep milliseconds annimmt und nicht seconds.

wegn topic:
http://www.codeproject.com/internet/getipnr.asp
Have Fun!
Bandit.
<-- Ehemaliger TTK-Bandit, bis inquake rumzickte -->

Dict.cc Firefox Addon | Q3Devel | Code3Arena(De) | GameType Revolution | Open Game Libraries
ap0calypse
Slash
Slash
Beiträge: 678
Registriert: Jan 2004
Wohnort: Wörgl / Tirol / Austria

Beitrag von ap0calypse »

Ich dachte meine Signatur mit Slackware-Linux und meine wüsten Verunstaltungen mit /etc/hosts usw, wären auffällig genug gewesen, um zu merken, dass ich NICHT auf/für Windows programmiere.

Insofern kann ich mit deinem oberen Beispiel nichts anfangen. Mich hat schon das .asp im Link stutzig gemacht ( *würg* ).

Wenn ich mich jetzt total irre, bitte berichtigt mich, aber den Code-Schnipsel aus dem Beispiel kann ich leider nicht gebrauchen.

Danke trotzdem für die Mühe.
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Roughael
Stripe
Stripe
Beiträge: 2498
Registriert: Mär 2002

Beitrag von Roughael »

uh sry.. habich wohl nich bemerkt ..
das mitm sleep trifft aber trotzdem zu.
Have Fun!
Bandit.
<-- Ehemaliger TTK-Bandit, bis inquake rumzickte -->

Dict.cc Firefox Addon | Q3Devel | Code3Arena(De) | GameType Revolution | Open Game Libraries
Roughael
Stripe
Stripe
Beiträge: 2498
Registriert: Mär 2002

Beitrag von Roughael »

ah vieleicht hilft dir das weiter:
http://msdn.microsoft.com/library/defau ... name_2.asp
jaja ich weis ne .asp seite :p
naja ist winsock, und winsock soll ja angeblich leicht auf linux portierbar sein.
die funktion gibt nen pointer auf ne structur zurück, welche nen item h_addr_list[] hat (nen array von in_addr)
schätze mal das enthält alle addressen die der host hat.
falls du das dann als string brauchst sollteste das mit inet_ntoa umkonvertieren können.

edit: au shit hab grad erst gesehn du hast ja dein post editiert und weis das schon :\

Have Fun!
Bandit.
<-- Ehemaliger TTK-Bandit, bis inquake rumzickte -->

Dict.cc Firefox Addon | Q3Devel | Code3Arena(De) | GameType Revolution | Open Game Libraries
tilman

Beitrag von tilman »

Original erstellt von TTK-Bandit
das mitm sleep trifft aber trotzdem zu.
Nö:

NAME
sleep - Sleep for the specified number of seconds

SYNOPSIS
#include <unistd.h>

unsigned int sleep(unsigned int seconds);

[...]

Nimm usleep() oder nanosleep().
ap0calypse
Slash
Slash
Beiträge: 678
Registriert: Jan 2004
Wohnort: Wörgl / Tirol / Austria

Beitrag von ap0calypse »

Original erstellt von TTK-Bandit
das mitm sleep trifft aber trotzdem zu.
Original erstellt von ap0calypse
Kann sleep() auch andere Werte als Sekunden haben? Weil eine Sekunde ist schon ziemlich lang ...

Offenbar nicht. unsigned int ... :/
Original erstellt von Trill
SYNOPSIS
#include <unistd.h>

unsigned int sleep(unsigned int seconds);
Ich glaube nicht, dass sleep das kann, aber nanosleep() dürfte funktionieren :)
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Roughael
Stripe
Stripe
Beiträge: 2498
Registriert: Mär 2002

Beitrag von Roughael »

hm sry ich hab mich wohl wieder auf windows bezogen:
VOID Sleep(DWORD milliseconds)
dachte eigentlich die funktion gehört zur standard lib.
hab aber irgendwo ma _sleep() gesehen für milliseconds. und diese funktion is auch in stdlib.h drin.. vieleicht die ma testen ?
Have Fun!
Bandit.
<-- Ehemaliger TTK-Bandit, bis inquake rumzickte -->

Dict.cc Firefox Addon | Q3Devel | Code3Arena(De) | GameType Revolution | Open Game Libraries
qq~
Daemia
Daemia
Beiträge: 325
Registriert: Apr 2002

Beitrag von qq~ »

hmm, usleep macht das ganze mit millisekunden und dürfte im gleichen header wie sleep sein!

int usleep(unsigned long mseconds); /*weiß die bezeichnung der seconds variable bei usleep nicht mehr ;) */
Antworten