Créer une socket de calcul parallèle

Résolu
walidhas Messages postés 3 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 13 mai 2010 - 4 mai 2010 à 22:33
walidhas Messages postés 3 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 13 mai 2010 - 6 mai 2010 à 14:42
slt, j'ai voulu créer une socket en MFC .Dans cette Socket le client et le serveur font chacun des calculs différents et durant ce calcul il y a échange des données (dans mon projet c'est sont des valeurs de type double)
mon problème est lors de conversion, j'ai voulu que l'envoi et la reception des valeur seront sans conversion!!!
conversion:

serveur
iRcvd=m_sConnectSocket.Receive(pBuf,iBufSize);

j'ai fait une conversion de char* to double avec "strtod"
cllient
iSent=m_sConnectSocket.Send(LPCTSTR(m_strMessage),iLen);

j'ai fait une conversion de double to char * avec "_ecvt"

donc j'ai voulu que l'envoi et la réception sans recourt à la conversion

merci de m'aider

2 réponses

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
5 mai 2010 à 08:37
salut,

pas de conversion à faire !!! Tu envoies le binaire pas sa représentation en chaine de caractères.
Ex : (code degueulasse mais c'est pour montrer le principe)

double d = 1.6l;
send(socket, (char *)&d, sizeof(d));


double d;
recv(socket, (char *)&d, sizeof(d), 0);
3
walidhas Messages postés 3 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 13 mai 2010
6 mai 2010 à 14:42
ta réponse m'a aidée beaucoup, je veux mettre le code exacte pour que cela devient 100% validé

programme :
Mon_Socket ConnectSocket;//Mon_Socket c'est une classe de projet

aprés la connexion:

double d=1.61;int Sent
   Sent=ConnectSocket.Send((char *)&d, sizeof(d));


double d;int Rcv; 
   Rcv=ConnectSocket.Receive((char *)&d, sizeof(d), 0);
0
Rejoignez-nous