[QT] erreur reseau inconnue.
Résolu
Char Snipeur
Messages postés
10112
Date d'inscription
Statut
Contributeur
Dernière intervention
-
IPUN8 -
IPUN8 -
Bonjour,
voilà, j'ai mi le code suivant :
Et il me retourne :
C'est à dire qu'il a bien réussi à se connecter, mais qu'il reçoit 0 octet de la part du serveur, et qu'il rencontre une erreur inconnu.
Ce que je ne comprends pas, car j'utilise le même protocole qu'un vieux programme en C++ qui lui fonctionnait très bien.
(pour info :)
voilà, j'ai mi le code suivant :
QTcpSocket s;
char buf[256];buf[0]=0;
s.connectToHost(ui->serveur->text(),25);
qDebug()<<s.waitForConnected(1000);
qDebug()<<s.read(buf,256);qDebug()<<buf;qDebug()<<s.error();
qDebug()<<s.write("EHLO BOUFFON\r\n");
Et il me retourne :
true 0 QAbstractSocket::UnknownSocketError 14
C'est à dire qu'il a bien réussi à se connecter, mais qu'il reçoit 0 octet de la part du serveur, et qu'il rencontre une erreur inconnu.
Ce que je ne comprends pas, car j'utilise le même protocole qu'un vieux programme en C++ qui lui fonctionnait très bien.
(pour info :)
int tt=::connect(dist,(SOCKADDR *)&sindist, sizeof(sindist));
recv(dist,buf,210,0);printf(buf);
sbuf="EHLO Beber\r\n";
send(dist,sbuf,strlen(sbuf),0);printf("send %s\n",sbuf);
A voir également:
- [QT] erreur reseau inconnue.
- Cable reseau du player freebox - Forum Freebox
- Entrer les informations d'identification reseau - Guide
- Erreur 3005 france tv - Forum TV & Vidéo
- Partage reseau - Guide
- Erreur vidéo inconnue freebox revolution - Forum Freebox
3 réponses
Salut.
j'ai trouvé la solution, je ne remercie pas trop la doc QT qui n'est pas clair sur ce sujet.
En fait, avant chaque "read" il faut faire :
s.waitReadReady();// ou une fonction du genre, je n'ai plus en tête.
La fonction ne semble pas travaillé comme recv() standard, surment une histoire de socket bloquant ou non. C'est un peu casse pied.
Pour le port 25, je me suis dit que pour envoyer des courriels, passer par un serveur SMTP c'était pas mal ;) mais merci tout de même de la précision.
j'ai trouvé la solution, je ne remercie pas trop la doc QT qui n'est pas clair sur ce sujet.
En fait, avant chaque "read" il faut faire :
s.waitReadReady();// ou une fonction du genre, je n'ai plus en tête.
La fonction ne semble pas travaillé comme recv() standard, surment une histoire de socket bloquant ou non. C'est un peu casse pied.
Pour le port 25, je me suis dit que pour envoyer des courriels, passer par un serveur SMTP c'était pas mal ;) mais merci tout de même de la précision.
Je ne sais pas si je vais t'apporter la bonne solution à ton problème.
Toutefois, je n'ai que deux remarques à émettre vu le peu d'informations:
- le port 25 est le port SMTP,
- en retournant 0, la fonction 'read' dit qu'il y a 0 octets à lire mais elle ne signale pas d'erreur (en cas d'erreur elle renvoie -1) donc la lecture de l'erreur ne signifie rien.
C'est tout pour le moment ;-)
Toutefois, je n'ai que deux remarques à émettre vu le peu d'informations:
- le port 25 est le port SMTP,
- en retournant 0, la fonction 'read' dit qu'il y a 0 octets à lire mais elle ne signale pas d'erreur (en cas d'erreur elle renvoie -1) donc la lecture de l'erreur ne signifie rien.
C'est tout pour le moment ;-)