Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2388 connectés 

  FORUM HardWare.fr
  Programmation

  [PERL/C/SOCKETS] Problème de sockets en PERL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PERL/C/SOCKETS] Problème de sockets en PERL

n°181705
BMenez
Posté le 24-07-2002 à 15:19:30  profilanswer
 

J'ai un problème avec les sockets en PERL. Voila le bout de code du serveur en PERL :
 

Code :
  1. my $sth = $dbh->prepare(qq{select * from projet});
  2. $sth->execute();
  3. $numrows=$sth->rows;
  4. print "Sending ".$numrows." projects\n";
  5. print $client $numrows;
  6. for($i=0;$i<$numrows;$i++)
  7. {
  8. ($id,$name)=$sth->fetchrow_array();
  9. $mess=$id."=".$name;
  10. print "Sending ".$mess."\n";
  11. print $client $mess;
  12. }
  13. $sth->finish();
  14. $dbh->disconnect();


 
Je souhaiterais que le programme envoie un paquet par projet.

Code :
  1. $mess=$id."=".$name;
  2. print $client $mess;


 
Voila mon client en C

Code :
  1. nRet = recv(Socket, retour, sizeof(retour), 0);
  2. if (nRet == SOCKET_ERROR)
  3. {
  4.  wsprintf(retour,"Probleme réseau: recv\n%d",WSAGetLastError());
  5.  MessageBox(0,retour,"Erreur",MB_OK);
  6.  return FALSE;
  7. }
  8. memcpy(ret,retour,nRet);
  9. ret[nRet]='\0';
  10. sscanf(ret,"%d",&result);
  11. wsprintf(retour,"%s,%d",ret,nRet);
  12. MessageBox(0,retour,"OK",MB_OK);
  13. while(result)
  14. {
  15.  nRet = recv(Socket, retour, sizeof(retour), 0);
  16.  if (nRet == SOCKET_ERROR)
  17.  {
  18.   wsprintf(retour,"Probleme réseau: recv\n%d",WSAGetLastError());
  19.   MessageBox(0,retour,"Erreur",MB_OK);
  20.   return FALSE;
  21.  }
  22.  memcpy(ret,retour,nRet);
  23.  ret[nRet]='\0';
  24.  sscanf(ret,"%d=%s",&nRet,retour);
  25.  nRet+=10000;
  26.  wsprintf(retour,"%s,%d",ret,nRet);
  27.  MessageBox(0,retour,"OK",MB_OK);
  28.  result--;
  29. }


 
Voila le résultat que j'obtiens :
http://www.chezfree.com/fmbm/images/pb.jpg
 
Alors que je voudrais qu'il m'affiche d'abord une boite de dialogue avec "3" puis une avec "0=projet0" puis "1=projet1", etc...
Est-ce que cela vient de mon implémentation ? des sockets C ? des sockets PERL ?
Dois-je faire un système de confirmation de réception entre chaque paquets ?
 
Merci d'avance pour votre aide
A+

mood
Publicité
Posté le 24-07-2002 à 15:19:30  profilanswer
 

n°197280
albator199​9
Posté le 19-08-2002 à 16:53:44  profilanswer
 


As-tu trouvé la solution ?
Moi j'ai le problème inverse.
Mon serveur est en C et mon client est en perl.
Je n'arrive pas à faire communiquer mes 2 appli.
 
@+


Message édité par albator1999 le 19-08-2002 à 17:01:58
n°198025
albator199​9
Posté le 20-08-2002 à 15:24:13  profilanswer
 

pb résolu :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PERL/C/SOCKETS] Problème de sockets en PERL

 

Sujets relatifs
[PHP] g un probleme et je pense que ca vient de sessions mais...Problème d'OCX
Problème de concaténationProblème avec HEIGHT :(
Problème de génération d'imageProblème avec les tables d'un forum :(
[HTML,JS] ............Probleme avec page incluse........[ XPath ] problème de détection d'un attribut.
[ASP] Fonction 'replace', petit probleme 
Plus de sujets relatifs à : [PERL/C/SOCKETS] Problème de sockets en PERL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR