PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Netzwerk Daten ermitteln



stefan-tiger
20-02-2006, 18:18
Ich weiss nicht obs genai hier herpasst. Ich versuch mich gerade einzuarbeiten.

Ich möchte einfachmal als erste "Übung" auf einer KDE/Qt Oberfläche alle Netzwerkdaten anzeigen lassen, wie Hostnamen, Domainnamen, Welche Interfaces es gibt (eth0, eth1...) und welche Daten diese jeweils haben (IP, Subnetz, Geschwindigkeit) und dann noch DNS-Serveradresse und Gateway (route?).

Meine ersten Ergüsse dazu:



...
#include <qhostaddress.h>
#include <qsocket.h>
#include <qsocketdevice.h>
#include <unistd.h>

konnectorWidget::konnectorWidget(QWidget* parent, const char* name, WFlags fl)
: konnectorWidgetBase(parent,name,fl)
{

// default texts
StatusLabel->setText( "not connected!" );

// detecting "Settings"
// hostname
char chostname[256];
char *phostname;
phostname = & chostname[0];
gethostname(phostname,255);

// domainname
char cdomainname[256];
char *pdomainname;
pdomainname = & cdomainname[0];
getdomainname(pdomainname,255);

// IP
QSocket *sock = new QSocket( this );
sock->setSocketDevice(new QSocketDevice);
QString addr=(sock->address()).toString();


// display detected "Settings"
Hostname_le->setText(chostname);
IP_le->setText(addr);
Domain_le->setText(cdomainname);

// signal & slots
connect( ExitButton, SIGNAL( clicked() ), this, SLOT( QuitApp()) );

}

anda_skoa
23-02-2006, 22:43
QSocket erzeugt schon intern ein SocketDevice, das erneute Setzen von außen ist nicht notwendig.

Ciao,
_