Seite 1 von 1

dht put und get mit qt

Verfasst: 2. November 2007 17:09
von CaptnChaos
tach auch.
kurz und knapp: das mach ich um einen dht put zu machen.

Code: Alles auswählen

QHttp *dhtPut = new QHttp("http://opendht.nyuld.net:5851/");
	QHttpRequestHeader header("PUT", "");
 	header.addValue("key", "test");
 	header.addValue("value", "123");
 	header.addValue("ttl_sec", "3600");
	header.setValue("content-type", "text/html");
	QFile *out = new QFile(QApplication::applicationDirPath() + "/log.txt");
	out->open(QIODevice::ReadWrite);
	int i = dhtPut->request(header, out);
	qDebug(QByteArray::number(i));
leider passiert garnix. ich versuche die in test gespeicherte variable per get.py, das auf der openDHT user-guide zu finden ist.
i ist 1.
die funktion in der ich das da aufrufe ist ein member eines qobjects. ich habe keinen gui, aber eine QApplication.

Verfasst: 2. November 2007 17:57
von CaptnChaos
ok hab einen fehler gefunden. nun sieht es so aus:

Code: Alles auswählen

QHttp *dhtPut = new QHttp("opendht.nyuld.net", 5850);
	connect(dhtPut, SIGNAL(requestFinished(int, bool)), this, SLOT(debug(int, bool)));
	QHttpRequestHeader header("PUT", "./");
 	header.addValue("key", "test");
 	header.addValue("value", "123");
 	header.addValue("ttl_sec", "3600");
	int i = dhtPut->request(header);
	qDebug(QByteArray::number(i));
in debug(int, bool) bekomme ich den fehler "Connection Refused"

Verfasst: 4. November 2007 08:33
von CaptnChaos
so. ich habs so weit selbst rausbekommen, aber jetzt hab ich keinen plan mehr....
den key muss ich per sha verschlüsseln und die ganze anfrage per xml-rpc versenden. ds mit dem sha ist ja kein problem, aber wie bekomme ich das mit dem xml-rpc hin? in python gibts klassen dafür, sogar eigene sockets. gibts sowas auch in qt/c++?