tu n´envoie jamais de char*, mais tu envoie la chaines pointé par le char*.
C´est là que réside la différence. Car le nom est trompeur, mais un char ce n´est pa un caractère, mais un octet. Donc en fait tu envoie un tableau d´octet qui peut être absolument n´importe quoi.
tu peut donc envoyer un nombre comme autre choses :
(char*)&nombre
je suppose que send doit prendre en argument la taille du tableau donc au final tu as un truc comme ça :
send((char*)&nombre,sizeof(nombre));
//(c´est de ´laproximatif, je ne sais pas comment on utilise send.
Et il faut juste qu´à l´arrivé ton programme fasse la même chose.
ca doit donc ressembler à ça :
recv((char*)&recu,sizeof(recu));