[QT4, MSVC] lokale IP-Adresse

Alles rund um die Programmierung mit Qt
Antworten
m.trix
Beiträge: 49
Registriert: 12. Oktober 2005 09:51
Wohnort: Manhattan

[QT4, MSVC] lokale IP-Adresse

Beitrag 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?
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

Re: [QT4, MSVC] lokale IP-Adresse

Beitrag 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
Glaube an eine Lösung, nur dann kannst du auch eine finden.
m.trix
Beiträge: 49
Registriert: 12. Oktober 2005 09:51
Wohnort: Manhattan

Beitrag 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.
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

Beitrag von Esleborn »

pfff wozu? Die IP interessiert doch eigentlich nur, wenn es ein Server ist... und da gibt es funktionen für...
Glaube an eine Lösung, nur dann kannst du auch eine finden.
m.trix
Beiträge: 49
Registriert: 12. Oktober 2005 09:51
Wohnort: Manhattan

Beitrag 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?
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag 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
m.trix
Beiträge: 49
Registriert: 12. Oktober 2005 09:51
Wohnort: Manhattan

Beitrag 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.
Antworten