baptchr55
Messages postés34Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention 6 avril 2011
-
27 janv. 2011 à 17:09
baptchr55
Messages postés34Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention 6 avril 2011
-
15 févr. 2011 à 12:59
Bonjour à tous encore une fois j'ai besoin de votre aide.
J'essaye d'envoyer par le biais d'un socket une chaine de caractères. Ce qui fonctionne, seul problème, si elle est composée d'un espace la ligne transmise ressemble à ça :
/* Si la socket fonctionne */
if(sock_err != SOCKET_ERROR)
{
/* Démarrage du listage (mode server) */
sock_err = listen(sock, 5);
printf("Listage du port %d...\n", PORT);
/* Si la socket fonctionne */
if(sock_err != SOCKET_ERROR)
{
/* Attente pendant laquelle le client se connecte */
printf("Patientez pendant que le client se connecte sur le port %d...\n", PORT);
csock = accept(sock, (SOCKADDR*)&csin, &recsize);
printf("Un client se connecte avec la socket %d de %s:%d\n", csock, inet_ntoa(csin.sin_addr), htons(csin.sin_port));
/* Si les sockets Windows fonctionnent */
if(!erreur)
{
/* Création de la socket */
sock = socket(AF_INET, SOCK_STREAM, 0);
/* Configuration de la connexion */
sin.sin_addr.s_addr = inet_addr("127.0.0.1");
sin.sin_family = AF_INET;
sin.sin_port = htons(PORT);
/* Si l'on a réussi à se connecter */
if(connect(sock, (SOCKADDR*)&sin, sizeof(sin)) != SOCKET_ERROR)
{
printf("Connection à %s sur le port %d\n", inet_ntoa(sin.sin_addr), htons(sin.sin_port));
/* Si l'on reçoit des informations : on les affiche à l'écran */
while(1)
{
if (recv(sock, buffer, 32, 0) != SOCKET_ERROR)
{ printf("Recu : %s\n", buffer);
//char buffer[32] = "";
}
}
/* sinon, on affiche "Impossible de se connecter" */
/*else
{
printf("Impossible de se connecter\n");
}*/
/* On ferme la socket */
closesocket(sock);
}
}
/* On attend que l'utilisateur tape sur une touche, puis on ferme */
getchar();
baptchr55
Messages postés34Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention 6 avril 2011 15 févr. 2011 à 12:59
En effet le caractère "NULL" ma posé bien des problèmes. J'ai résolu celà en identifiant dans ma trame le caractère de fin de chaine pour ensuite la stocker dans un tableau. La traiter, puis la convertir en entiers.