jonasge
21-12-2002, 19:20
Hallo,
ich versuche gerade eine ClientApplication für den Hylafax-Server zu schreibe, jetzt hänge ich bei der Programmierung der Netzwerkanbindung.
Ich will über das Netzwerk mich mit dem Hylafax-Server verbinden, dieser Lauscht auf Port 4559.
Hier mein Code:
void KHylafax::slotupdate()
{
const QString host="127.0.0.1";
Q_UINT16 port=4559;
cerr << "KHylafax: In slotupdate-Funktion am Anfang...."<< endl;
sock= new QSocket(this);
connect(sock, SIGNAL(connected()), this, SLOT(slotconnected()));
connect(sock, SIGNAL(error(int)), this, SLOT(sloterror(int)));
connect(sock, SIGNAL(hostFound()), this, SLOT(slotfound()));
sock->connectToHost( host,port );
if (sock->state() == QSocket::Connected)
{
cerr << "State == connected"<< endl;
}
else if (sock->state() ==QSocket::Idle)
{
cerr << "State == idle "<< endl;
}
else if (sock->state() == QSocket::HostLookup)
{
cerr << "State == HostLookup"<< endl;
}
else if (sock->state() == QSocket::Closing )
{
cerr << "State == Closing "<< endl;
}
else if ( sock->state() == QSocket::Connecting)
{
cerr << "State == connecting" << endl;
}
QTextStream os(sock);
os << "USER hggh\n";
os << "stat"<< "\n";
while ( sock->canReadLine() ) {
cerr << sock->readLine() << endl;
}
cerr << "KHylafax: closing socket"<< endl;
sock->close();
}
void KHylafax::slotconnected()
{
cerr << "KHylafax: Connected to server"<< endl;
}
void KHylafax::sloterror(int error)
{
cerr << "ERROR: " << error << " Connect error!"<< endl;
}
void KHylafax::slotfound()
{
cerr << "Host found..."<< endl;
}
Wenn ich jetzt das programm startekommt das auf die cerr std out:
KHylafax: In slotupdate-Funktion am Anfang....
Host found...
State == connecting
KHylafax: closing socket
Das heißt er verbindet gar nicht richtig, was ist falsch ?
Habe eigendlich alles so gemacht, wie es im QT-Manual steht...
Gruss
Jonas
ich versuche gerade eine ClientApplication für den Hylafax-Server zu schreibe, jetzt hänge ich bei der Programmierung der Netzwerkanbindung.
Ich will über das Netzwerk mich mit dem Hylafax-Server verbinden, dieser Lauscht auf Port 4559.
Hier mein Code:
void KHylafax::slotupdate()
{
const QString host="127.0.0.1";
Q_UINT16 port=4559;
cerr << "KHylafax: In slotupdate-Funktion am Anfang...."<< endl;
sock= new QSocket(this);
connect(sock, SIGNAL(connected()), this, SLOT(slotconnected()));
connect(sock, SIGNAL(error(int)), this, SLOT(sloterror(int)));
connect(sock, SIGNAL(hostFound()), this, SLOT(slotfound()));
sock->connectToHost( host,port );
if (sock->state() == QSocket::Connected)
{
cerr << "State == connected"<< endl;
}
else if (sock->state() ==QSocket::Idle)
{
cerr << "State == idle "<< endl;
}
else if (sock->state() == QSocket::HostLookup)
{
cerr << "State == HostLookup"<< endl;
}
else if (sock->state() == QSocket::Closing )
{
cerr << "State == Closing "<< endl;
}
else if ( sock->state() == QSocket::Connecting)
{
cerr << "State == connecting" << endl;
}
QTextStream os(sock);
os << "USER hggh\n";
os << "stat"<< "\n";
while ( sock->canReadLine() ) {
cerr << sock->readLine() << endl;
}
cerr << "KHylafax: closing socket"<< endl;
sock->close();
}
void KHylafax::slotconnected()
{
cerr << "KHylafax: Connected to server"<< endl;
}
void KHylafax::sloterror(int error)
{
cerr << "ERROR: " << error << " Connect error!"<< endl;
}
void KHylafax::slotfound()
{
cerr << "Host found..."<< endl;
}
Wenn ich jetzt das programm startekommt das auf die cerr std out:
KHylafax: In slotupdate-Funktion am Anfang....
Host found...
State == connecting
KHylafax: closing socket
Das heißt er verbindet gar nicht richtig, was ist falsch ?
Habe eigendlich alles so gemacht, wie es im QT-Manual steht...
Gruss
Jonas