lokale ip

Alles rund um die Programmierung mit Qt
Antworten
Irods
Beiträge: 53
Registriert: 24. Mai 2009 20:57
Kontaktdaten:

lokale ip

Beitrag von Irods »

Hi ich suche schon den ganzen Abend eine Möglichkeit meine locale ip mit qt zu ermitteln.
Aber irgendwie finde ich überhaupt nichts brauchbares.
Plz help :D
Gruss Irods
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Computer bekommen keine IP, Netzwerkinterfaces bekommen eine. Und wenn man mehrere Netzwerkkarten hat und noch dazu eine VM, dann hat man sogar einige IPs. Du musst dir also eine Liste deiner Netzwerkinterfaces holen und die kannst Du dann fragen.
Hiermit bekomme ich 5 IPs angezeigt:

Code: Alles auswählen

	QList<QHostAddress> allIPs = QNetworkInterface::allAddresses();
	QString ip;
	foreach (QHostAddress ha, allIPs)
		ip = ha.toString();
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Er sucht ja nur sein lokale IP. Und die ist in der Regel: 127.0.0.1
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

127.0.0.1 ist das Loopback-Device und als solches auch nur eine virtuelle Netzwerkkarte. Die reale Netzwerkkarte hat immer eine IP, entweder eine manuell eingestellte, eine per DHCP zugewiesene, oder eine selbst zugewiesene.

Mit obigen Code bekommt man also immer 2 IPs zurück.

Im Prinzip hast Du Recht, für lokale Connections reicht 127.0.0.1, aber das wird er nicht gesucht haben :)
Irods
Beiträge: 53
Registriert: 24. Mai 2009 20:57
Kontaktdaten:

thx

Beitrag von Irods »

also danke für die schnellen antworten und 127.0.0.1 hab ich nicht gesucht xD aber
die Andere scheint ganz brauchbar zu sein das probiere jetzt erst ma aus
Irods
Beiträge: 53
Registriert: 24. Mai 2009 20:57
Kontaktdaten:

Beitrag von Irods »

also der ganze kram funzt jetzt wunderbar aber irrgent wie find ich keine funktion mit der
man herrausfinden kann ob eine addresse ipv4 oda ipv6 ist außer diese hier:
http://qt.nokia.com/doc/4.0/qhostaddres ... Pv4Address
nur das problem ist diese funktioniert nur unter qt3 und ich nutze qt4
kennt ihr vll ne andere funktion die unter qt4 funzt?
oder eine möglichkeit eine qt3 funktion unter qt4 zu benutzen

schon ma thx
gruss irods
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Also ich finde die Doku zu QHostAddress::isIPv4Address() recht interessant...
Irods
Beiträge: 53
Registriert: 24. Mai 2009 20:57
Kontaktdaten:

Beitrag von Irods »

ich hab mir jetzt ne eigene funktion geschrieben die untersucht ob ein "." in der adresse vorkommt
da ja ipv4 adressen mit einem "." getrent werden und ipv6 mit einem ":"
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Da sag ich jetzt mal nichts dazu...
arj
Beiträge: 45
Registriert: 1. Juni 2009 13:51
Wohnort: Ihringen

Beitrag von arj »

Irods hat geschrieben:ich hab mir jetzt ne eigene funktion geschrieben
Ich würde mir den Beitrag von upsala nochmal anschauen. Das gibt es nämlich schon...
Antworten