Sockets : Problème de client [C++] - Programmation
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 !
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 !
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();