greenzephyr
Messages postés7Date d'inscriptionmercredi 15 novembre 2006StatutMembreDernière intervention 8 août 2009
-
15 nov. 2006 à 09:36
greenzephyr
Messages postés7Date d'inscriptionmercredi 15 novembre 2006StatutMembreDernière intervention 8 août 2009
-
16 nov. 2006 à 10:02
Bonjour à tous, chui un petit nouveau ici. Je ne sais pas si ma question est sur le bon forum (ici ou forum socket). Bref j'ai besoin d'aide.
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:
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;
}
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**
taupe4
Messages postés91Date d'inscriptiondimanche 16 avril 2006StatutMembreDernière intervention17 avril 20081 16 nov. 2006 à 02:25
Ma méthode personnelle pour envoyer des données reste à prendre un BinaryWriter, qui permet d'envoyer tous les types sans devoir les convertir.
Et celle que j'utilise pour envoyer des tableaux est simple: on envoie un int avec le nombre d'items dans le tableau, suivi des objets du tableau un après l'autre.
1) ta méthode est bonne, mais un BinaryWriter reste très facile à mettre en place (par contre, avec la compatibilité C++, je sais pas, mais ça doit sûrement fonctionner)
L'autre question, je sais pas trop, surtout que les pointeurs et moi, ça va pas bien.
Enjoy