Folgendes ist die Datei qdnstest.cpp
Code:
#include <qapplication.h>
#include <qdns.h>
#include <qhostaddress.h>
#include <qstringlist.h>
class DNS : QObject
{
Q_OBJECT
public:
DNS() : m_dns(0), m_mode(0) {
startNameToAddress();
}
protected:
void startNameToAddress() {
qDebug("lookup of localhost");
m_dns = new QDns("localhost");
QObject::connect(m_dns, SIGNAL(resultsReady()), this,
SLOT(ready()));
m_mode = 0;
}
void startAddressToName() {
qDebug("lookup of 127.0.0.1");
QHostAddress addr;
addr.setAddress("127.0.0.1");
m_dns = new QDns(addr);
QObject::connect(m_dns, SIGNAL(resultsReady()), this,
SLOT(ready()));
m_mode = 1;
}
protected slots:
void ready() {
if (m_mode == 0)
{
QValueList<QHostAddress> list = m_dns->addresses();
for (uint i = 0; i < list.count(); ++i)
{
qDebug("Address %d: %s", (i+1),
(const char*) list[i].toString());
}
delete m_dns;
startAddressToName();
}
else
{
QStringList list = m_dns->hostNames();
for (uint i = 0; i < list.count(); ++i)
{
qDebug("Hostname %d: %s", (i+1),
(const char*) list[i]);
}
delete m_dns;
qApp->quit();
}
}
protected:
QDns* m_dns;
int m_mode;
};
int main(int argc, char** args)
{
QApplication app(argc, args);
DNS dns;
return app.exec();
}
#include "qdnstest.moc"
#> moc -o qdnstest.moc qdnstest.cpp
#> g++ -Wall -o qdnstest qdnstest.cpp -lqt-mt -L$QTDIR/lib -I$QTDIR/include
Ciao,
_
Lesezeichen