Archiv verlassen und diese Seite im Standarddesign anzeigen : QDns Problem
Würde gerne eine IP in dessen Namen umwandeln und umgekehrt. Hat mir da jemand einen funktionierenden Quellcode?
anda_skoa
11-05-2003, 20:11
Folgendes ist die Datei qdnstest.cpp
#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,
_
Danke für den Quellcode. Nur leider funktioniert er nicht ganz korrekt. Die Ausgabe sieht folgendermassen aus:
lookup of localhost
Address 1: 127.0.0.1
lookup of 127.0.0.1
Segmentation fault
anda_skoa
11-05-2003, 23:12
hmm, funkt bei mir einwandfrei :(
Ich attache mal meine Datei.
Die .txt Endung weglöschen
Ciao,
_
Hm tritt wieder auf der Fehler. Muss wohl an meinem System liegen. Trotzdem danke für die Hilfe.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.