Konsolenanwendung - Problem mit connect

Alles rund um die Programmierung mit Qt
Antworten
Viper2000
Beiträge: 48
Registriert: 7. Mai 2008 16:36

Konsolenanwendung - Problem mit connect

Beitrag von Viper2000 »

Beim Connect in der Server.cpp Bringt der Compiler mir folgende Fehlermeldung:

keine passende Funktion für Aufruf von »QObject::connect(QTcpServer*&, const char [17], Server* const, const char [14])« consoleServer Server.cpp line 29

Was mache ich falsch? Sorry bin ganz neu auf Qt unterwegs :-)

Server.cpp:

Code: Alles auswählen

#include "Server.h"
//#include <QtNetwork>


Server::Server(QString ip, quint16 serverPort)
{

	tcpServer = new QTcpServer();
	
	//IP Adresse an QHostAddress übergeben 
	if (! serverAddress.setAddress(ip) )
	{
		std::cout << "!!! Uebergeben IP Adresse nicht standardkonform" << std::endl;
		tcpServer->close();
		return;
	}
	
	if (! tcpServer->listen(serverAddress, serverPort) )
	{
		//Fehler auf Console Protokollieren
		std::cout << "!!! Socket-Fehler: " << tcpServer->errorString().toStdString() << std::endl;
		tcpServer->close();
		return;
	}
	
	std::cout << "Server erfolgreich gestartet auf Port: " << tcpServer->serverPort() << std::endl;	
	std::cout << "IP Adresse zum connecten: " << tcpServer->serverAddress().toString().toStdString() << std::endl;
	
	QObject::connect(tcpServer, SIGNAL(newConnection()),this, SLOT(sendString()));
}

void Server::sendString()
{
	QByteArray block;
	QDataStream out(&block, QIODevice::WriteOnly);
	out.setVersion(QDataStream::Qt_4_3);
	
	out << (quint16)0;
	out << (QString)"TestFortune";
	out.device()->seek(0);
	out << (quint16)(block.size() - sizeof(quint16));
}

Server::~Server()
{
	qDebug("Server Destroyed");
}
Server.h:

Code: Alles auswählen

#ifndef SERVER_H_
#define SERVER_H_
#include <QDialog>
#include <QtNetwork>
#include <stdlib.h>
#include <iostream> 


class QTcpServer;

class Server
{
public:
	Server(QString ip, quint16 serverPort);
	virtual ~Server();
	
private slots:
	void sendString();
	
private:
	QTcpServer *tcpServer;
	QStringList fortunes;
	QHostAddress serverAddress;
};

#endif /*SERVER_H_*/
Main.cpp:

Code: Alles auswählen

#include <QtCore>
#include <QCoreApplication>

#include <stdio.h>
#include <stdlib.h>
#include "Server.h"

int main() //(int argc, char *argv[])
{
    //QCoreApplication a(argc, argv);
    QString ip = "192.168.178.28";
    Server myServer(ip,41119);
	
    //return a.exec();
}
Ich bin nicht die Signatur, ich putz hier nur :-)
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Hübsch, fehlt da nicht was?
Zuletzt geändert von upsala am 13. Mai 2008 20:06, insgesamt 1-mal geändert.
Viper2000
Beiträge: 48
Registriert: 7. Mai 2008 16:36

Beitrag von Viper2000 »

Äh, ja kann sein dass was fehlt...was meinste denn?
Ich bin nicht die Signatur, ich putz hier nur :-)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Server ist kein QObject
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Viper2000
Beiträge: 48
Registriert: 7. Mai 2008 16:36

Beitrag von Viper2000 »

Danke Leute, das war es! Server ist jetzt ein QObject und er kompiliert sauber durch.
Ich bin nicht die Signatur, ich putz hier nur :-)
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Sorry, hatte die Fehler-Beschreibung trotz 2maligen lesens nicht gesehen.
Antworten