[C++] Sockets : Problème de client

Sockets : Problème de client [C++] - Programmation

Marsh Posté le 01-06-2001 à 18:08:53    

Avec ce bout de code pour un client de chat, j'ai le problème suivant :
Le serveur reçoit uniquement le premier message du client.
Les autres sont envoyés sans erreur, mais rien n'est reçu.
En déconnectant et reconnectant à chaque fois le client, ça marche.
 
Help !
 
 
SOCKET c;
SOCKADDR_IN to;
 
char data[255];
char tosend[255];
 
WSADATA wsaData;
WORD v;
v = MAKEWORD(2,0);
   
WSAStartup(v, &wsaData); //Initialisation des sockets
 
c = socket(AF_INET,SOCK_STREAM,0);
if(c == INVALID_SOCKET)
{
 printf("Unable to create socket.\n" );
 getch();
 fflush(stdin);
 exit(1);
}
 
to.sin_family = AF_INET;
to.sin_addr.s_addr = inet_addr(adip); //IP du serveur
to.sin_port = htons(prt); //Port à utiliser
 
if (connect(c,(LPSOCKADDR)&to,sizeof(to)) == SOCKET_ERROR)
{
 printf("Unable to connect server.\n" );
 getch();
 fflush(stdin);
 exit(1);
}
gets(data); // Saisie du message
strcpy(tosend,data);
     
if (send(c,tosend,sizeof(tosend),0) == SOCKET_ERROR)
 printf("->Failed\n" );
else
 printf("->Ok\n" ); //Ca affiche ce message tout le temps, mais rien n'est reçu
   //coté serveur.
 
shutdown(c,SD_BOTH);
closesocket(c);
WSACleanup();

Reply

Marsh Posté le 01-06-2001 à 18:08:53   

Reply

Marsh Posté le 02-06-2001 à 14:16:01    

Aidez moi !

Reply

Marsh Posté le 02-06-2001 à 19:23:49    

Je sais pas si ça peux t'aider :
 
j'avais un pb du même type et en fait l'erreur venait du fait que j'envoyer 2 messages (donc 2 send) avec le client dans un intervalle de temps très court et le serveur ne recevais qu'un seul message, ce dernier contenait en fait les 2 messages qui avait été concaténés automatiquement !

Reply

Marsh Posté le 02-06-2001 à 19:30:35    

Je ne pense pas que se soit ça car le serveur ne reçoit aucun message, enfin merci quan même !

Reply

Sujets relatifs:

Leave a Replay

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