Utiliser des CSocket dans une application QT...

Utiliser des CSocket dans une application QT... - C++ - Programmation

Marsh Posté le 21-03-2003 à 13:15:51    

Quelqu'un saurait faire ça ??
 
J'ai des problèmes de communications avec les QSocket que je n'avait pas avec les CSocket... et j'aimerais donc utiliser les CSocket de MFC dans mon appli QT....
 

Reply

Marsh Posté le 21-03-2003 à 13:15:51   

Reply

Marsh Posté le 21-03-2003 à 13:28:08    

erel69 a écrit :

Quelqu'un saurait faire ça ??
 
J'ai des problèmes de communications avec les QSocket que je n'avait pas avec les CSocket... et j'aimerais donc utiliser les CSocket de MFC dans mon appli QT....
 
 


utiliser MFC avec QT. voila un concept fort intéressant... [:meganne]
 
blague à part, que reproches tu aux QSocket ? je les ai déjà utilisés, ils fonctionnent très bien !


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 21-03-2003 à 14:52:00    

ben le problème.... c'est que ça envoie les données mais je ne les reçois pas si je n'utilise pas le signal readyRead()
 
 
et quen j'utilise le signal, je ne reçois pas toutes les données ! (ça marche pas tout le temps quoi :( )


---------------
France Hardware | Degroup Test | Degroup News
Reply

Marsh Posté le 21-03-2003 à 17:27:55    

erel69 a écrit :

ben le problème.... c'est que ça envoie les données mais je ne les reçois pas si je n'utilise pas le signal readyRead()
 
 
et quen j'utilise le signal, je ne reçois pas toutes les données ! (ça marche pas tout le temps quoi :( )


readyRead() est justement prévu pour te notifier que des données sont arrivées ! pourquoi ne l'utilises tu pas :??:
 
j'ai fait une appli QT réseau (en stand by pour l'instant, manque de temps), et je recevais bien tout ! pourtant elle tourne sous QT 2.3, qui n'est pas un modèle de stabilité


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 21-03-2003 à 17:39:35    

erel69 a écrit :

ben le problème.... c'est que ça envoie les données mais je ne les reçois pas si je n'utilise pas le signal readyRead()
 
 
et quen j'utilise le signal, je ne reçois pas toutes les données ! (ça marche pas tout le temps quoi :( )


c'est ptet la facon dont tu lis les données qui pose probleme. si tu postes un bout de code, ce sera un peu plus simple de t'aider.

Reply

Marsh Posté le 21-03-2003 à 18:14:05    

j'ai essayé 2 méthodes :
 

Code :
  1. QString tmp;
  2.     char* coucou = new char[bytesAvailable ()];
  3.     readBlock(coucou,bytesAvailable());
  4.     tmp = coucou;
  5.     return tmp;


 
et le tout bête
 

Code :
  1. readLine();


 
même résultat :(

Reply

Marsh Posté le 23-03-2003 à 19:52:23    

as tu essayé de vérifier si le socket contenait des lignes ?
readLine() est utilisé pour lire des lignes se terminant par le retour chariot !
 
exemple :

Code :
  1. void maClasse::readyRead()
  2. {
  3. // protocole orienté ligne
  4. if (!socket->canReadLine())
  5.  return;
  6. QString ligne;
  7. ligne = socket->readLine();
  8. reponse = ligne;
  9. }


socket représente le QSocket utilisé.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed