ich progge mir gerade ein Chat-Programm. Nun habe ich das Problem, dass ich den Chatserver von QServerSocket ableiten muss, und dabei möchte ich den Port als Argument an den Konstrukteur übergeben. Das klappt irgendwie nicht richtig. Wenn ich den Server ohne der Übergabe des Ports (als Argument an die Serverklasse) starte, dann klappts!
Hier ein paar Auszüge:
die Serverklasse:
Code: Alles auswählen
ChatServer::ChatServer(Q_UINT16, int, QObject *parent, const char *name)
: QServerSocket(parent, name)
{
//connect(mainWin, SIGNAL(setRemoteText(QString)), this, SLOT(sendRemoteText(QString)));
}
Code: Alles auswählen
void ChatServer::newConnection(int socketId)
{
socket = new QSocket(this);
connect(socket, SIGNAL(readyRead() ), this, SLOT(readClient()));
connect(socket, SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()));
socket->setSocket(socketId);
stream.setDevice(socket);
stream << "Willkommen beim Chatserver!" << endl;
socket->flush();
emit newConnect();
}Code: Alles auswählen
server = new ChatServer(port, 1, this, "Server");
connect(server, SIGNAL(newConnect()), this, SLOT(connectionOK()));
connect(server, SIGNAL(endConnect()), this, SLOT(disconnectNet()));
connect(server, SIGNAL(setRemoteText(QString)), this, SLOT(getRemoteText(QString)));
connect(this, SIGNAL(killServer()), server, SLOT(discardClient()));Code: Alles auswählen
ChatServer::ChatServer(QObject *parent, const char *name)
: QServerSocket(parent, name)Vielen Dank schonmal für jeden Hinweis!
Ciao john