Les Forums

Les Forums

Les forums sont fermés. Ils restent présent pour consultation et archivage.
Vous pouvez désormais poser vos questions directement dans les commentaires en bas de chaque page du site.
Alors n'hésitez pas à participer

Problemes avec Winsock

Bonjour, je n'arrive pas à utiliser correctement winsock, voici mon bout de code, il s'agit de faire une requete à un serveur, et de lire la reponse (texte de taille variable)

----------------------------------------------------
sprintf(CPos,"%d %d",Pos,Dec);
send(SockValTxtIn,CPos,strlen(CPos),0);
_commit(SockValTxtIn);
recv(SockValTxtIn,Ret,1000,0);
----------------------------------------------------

dans l'exemple ci-dessus je ne recois rien, car il n'attend pas asser longtemps la reponse du serveur. je fait donc :

----------------------------------------------------
sprintf(CPos,"%d %d",Pos,Dec);
send(SockValTxtIn,CPos,strlen(CPos),0);
_commit(SockValTxtIn);
while(ByteR ==0)
{
ByteR = recv(SockValTxtIn,Ret,1000,0);
}
----------------------------------------------------

Ici ça fonctionne de temps en temps, 3 fois sur 4 je n'est pas le texte complet.

-----------------------------------------------------
sprintf(CPos,"%d %d",Pos,Dec);
send(SockValTxtIn,CPos,strlen(CPos),0);
_commit(SockValTxtIn);
sleep(5);
recv(SockValTxtIn,Ret,1000,0);
-----------------------------------------------------

La ça fonctionne mais c'est tres lent, 1000 requettes en 5sec...


Pourtant avec linux le meme code fonctionne parfaitement, en PHP ceci fonctionne tres bien

-----------------------------------------------
$lg = sprintf("%d %d",$Pos,$Dec);
fputs($fp2,$lg);
$Ret = fread($fp2,128);
-----------------------------------------------

En java c'est egalement parfait...

Quelqu'un c'est t'il ce qui ne marche pas avec ce WINSOCK ? 🙄
ton code est en C ? si oui stp tu peux me filer le code source ainsi que les fichiers que tu a utilisé ??
merci 🙂