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:
Le serveur le recoit (, connait le nbr de double à recevoir) et le convertit en en double*
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); }
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...
Partager