QTcpServer

Alles rund um die Programmierung mit Qt
Antworten
piXelshooter
Beiträge: 43
Registriert: 25. März 2007 21:19

QTcpServer

Beitrag von piXelshooter »

Hi,
folgender code:

communicator.h

Code: Alles auswählen

#ifndef COMMUNICATOR_H
#define COMMUNICATOR_H
#include <QTcpServer>
#include <QObject>
class Communicator : public QObject
{
	Q_OBJECT
	public:
		Communicator();
	private:
		QTcpServer _clientInterface;
	private slots:
		void generatePages();
};
#endif
communicator.cpp

Code: Alles auswählen

#include <QTcpSocket>
#include <iostream>
#include "communicator.h"
#include "defaulthtmlpagegenerator.h"
Communicator::Communicator() :
	QObject()
{
	if(_clientInterface.listen(QHostAddress::Any, 80))
		qCritical("Konnte Server nicht starten");
	QObject::connect(&_clientInterface, SIGNAL(newConnection()),
		this, SLOT(generatePages()));
}
void Communicator::generatePages()
{
	std::cout << "EVENT:\tNeue Verbindungsanfragen eingegangen\n";
	QTcpSocket* connections;
	while(connections = _clientInterface.nextPendingConnection()){
		PageGenerator* gen = new DefaultHtmlPageGenerator(connections->readAll());
		connections->write(gen->generate().toUtf8());
		std::cout << gen->generate().toAscii().data();
		delete gen;
		delete connections;
	}
	std::cout << "DONE:\tVerbindungsanfragen Bearbeiten" << std::endl;

problem ist in Communicator::generatePages()
ich sehe die richtige rückgabe im standardoutput, gen->generate() arbeitet also richtig. Nur leider kommt nichts davon beim client an, wenn dieser eine einfage sendet.

auch der rückgabewert von write() liefert nix :-\
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Oder anders gesagt: Du sendest die Daten und löscht dann sofort die Verbindung. Was denkst du geht schneller? Das löschen oder das senden?
piXelshooter
Beiträge: 43
Registriert: 25. März 2007 21:19

Beitrag von piXelshooter »

danke :)
Antworten