[QT] erreur reseau inconnue.
Résolu
Char Snipeur
Messages postés
9813
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.
- Reseau orange non détecté ✓ - Forum Livebox
- Cable reseau player freebox - Forum Freebox
- Entrer les informations d'identification reseau - Guide
- Le message n'a pas été envoyé car le service n'est pas activé sur le réseau - Forum Xiaomi
- Partage reseau - Guide
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 ;-)