Seite 1 von 1

[QT4, MSVC] lokale IP-Adresse

Verfasst: 31. Oktober 2005 14:00
von m.trix
Hallo Leutz, ich häng mal wieder.

Ich muss/soll eine LineEdit mit der lokalen IP-Adresse der Rechners füllen, auf dem mein Tool gestartet wird.
Folgendes klappt leider nicht:

Code: Alles auswählen

m_IPLine->setText(QAbstractSocket::localAddress().toString())
Bin immer noch 'neu' was Qt angeht, manche Dinger schnall ich einfach nicht.

Kann wer helfen?

Re: [QT4, MSVC] lokale IP-Adresse

Verfasst: 31. Oktober 2005 14:09
von Esleborn
m.trix hat geschrieben:

Code: Alles auswählen

m_IPLine->setText(QAbstractSocket::localAddress().toString())
unterbrich mich falls ich mich irre, aber localAdress ist doch keine statische Funktion, da es mehrere Adressen geben kann. Oder? Demzufolge würde ich wohl eher ein QTcpSocket (oder QUdpSocket) erstellen, verknüpfen und von diesem die Funktion localAdress ( ) aufrufen...

hilfts weiter?

Elgrimm Esleborn

Verfasst: 31. Oktober 2005 14:19
von m.trix
Würde Sinn machen. Das .toString() hat da glaub ich eh nichts zu suchen. Muss ich dann wohl nochmal überdenken.

Aber gibt's denn keine Möglichkeit beim Start des Tools die IP rauszubekommen? Muss ja auch nicht über Qt laufen. Bin in der Hinsicht einfach noch zu unerfahren.

Verfasst: 31. Oktober 2005 14:38
von Esleborn
pfff wozu? Die IP interessiert doch eigentlich nur, wenn es ein Server ist... und da gibt es funktionen für...

Verfasst: 31. Oktober 2005 14:53
von m.trix
Eben selbige IP soll ich an einen "Server" schicken, damit das tool in eine Verbindungsliste geschmissen wird. Der 'Server' würd das nicht brauchen, aber das Protokoll verlangt es, und der User soll's als 'Sicherheit' auch sehen. Klar könnt ich einfach was schicken. Aber es muss halt so sein.

Es muss doch was geben, mit dem ich die IP auslesen kann?

Verfasst: 2. November 2005 08:45
von FlorianBecker
Wenn du mit div. Funktionen aus Qt die Adresse für localhost haben willst, kommt 127.0.0.1 heraus. Du benötigst also die IP Adresse von der ersten Netzwerkkarte und das wird nur mit System API gehen. Der folgende Link zeigt dir einmal wie man die NET ID herausbekommt. Unter Linux benötigst du dazu nur noch minimal viele Zeilen mehr, so 1-3 um dann die "wirkliche" lokale IP herauszufinden.

http://www.qtforum.de/forum/viewtopic.php?t=210

Verfasst: 3. November 2005 13:21
von m.trix
Danke für den Code. Schaut sehr fein aus, und ich bin auch der Meinung das er mit Sicherheit funktioniert. Aber leider nicht für mein Projekt. Die "Iphlpapi.lib/.h" ist Bestandteil des M$ SDK. Und den darf ich nicht verwenden. Qt only. Dann wird die IP wohl doch per Hand eingegeben werden. :cry:

Aber falls ich nochwas herausfinden sollt, dann wird's natürlich umgehend gepostet.