Convertir tableau int en const char* et inverse

Résolu
samuraijack1412 Messages postés 26 Date d'inscription samedi 29 novembre 2008 Statut Membre Dernière intervention 13 juin 2009 - 29 mai 2009 à 15:53
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011 - 31 mai 2009 à 21:29
Bonjour,

J'ai écrit une application client-serveur. Ils se communiquent par des sockets TCP. Pour envoyer au serveur un tableau d'entier, j'utilise:

int config[4];
...
send(socket, (char*) config,sizeof(config),0);

car send() n'accepte qu'une chaine const char*

Maintenant, pour que le serveur peut retrouver le tableau d'entier au début de la chaine reçu, que je dois faire?

char config[4];
recv(socket,config,4,0);
//TO DO: utiliser les valeur du tableau

Merci!

3 réponses

fregolo52 Messages postés 1115 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 3
29 mai 2009 à 16:25
Pourquoi tu ne fais pas comme dand send ? Ca devrait marcher, non ?
int config[4];
recv(socket,(char *)config,sizeof(config),0);
3
samuraijack1412 Messages postés 26 Date d'inscription samedi 29 novembre 2008 Statut Membre Dernière intervention 13 juin 2009
29 mai 2009 à 16:45
ça marche si dans mon programme n'envoie que les tableau entier. Mais si on doit re utiliser la chaine reçu plusieur fois pour les autres buts, c'est pas pratique.

Voici, mon serveur

char Requete[20];
while(1){
        sockNet = AttendUneConnexion(PortTCP);

        do{
               
            recv(sockNet,Requete,20,0);
            //TO DO: utiliser Requete
            if(){};
           
            if(){}

        }while(test)
}

Merci!
0
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
31 mai 2009 à 21:29
char buffer[20];
recv(sock, buffer, sizeof(buffer), 0);
int* pint (int*)buffer; // tableau de 5 int (20 / sizeof(int) 5)
printf("%d - %d - %d - %d - %d\n", pint[0], pint[1], pint[2], pint[3], pint[4]);

tu devrais revoir ton protocole de communication ou donner plus de détail parce qu'il parrait bizzard ...

~(.:: NitRic ::.)~
0