communication C++ C# par socket
Bonjour à tous, chui un petit nouveau ici. Je ne sais pas si ma question est sur le bon forum.
Je fais une communication par socket entre un serveur C++ et un client C#.
Mon pb: l'échange des données
Pour échanger les données entre les deux, j'utilise le NetworkStream.
Pour envoyer un tableau de double au serveur, mon client passe par une transformation en tableau d'octets:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| private void sendArrayBis()
{
//mon tableau de test à envoyer
double[] test=new double[]{1.22,22.3334};
//mon tableau d'octets à remplir
Byte[] data=new byte[8 * test.Length];
//transformer mon tabl. de double en tabl. d'octets
int idx=0;
for(int cpt=0;cpt<test.Length;cpt++){
System.BitConverter.GetBytes(test[cpt]).CopyTo(data,idx);
idx+=8;
}
//envoyer (_stream <NetworkStream>)
_stream.Write(data,0,data.Length);
_stream.Flush();
} |
Le serveur le recoit (, connait le nbr de double à recevoir) et le convertit en en double*
1°) Est ce la bonne et meilleure méthode pour envoyer mes données par la socket ?
2°) Quid d'un tableau n dimensions ? On parcourt le tableau et on met tous les double à la suite dans un tableau d'octets ?
RQ : Mon serveur attend un double**
Merci de votre aide...