Bonjour tout le monde,

Je suis actuellement en train d'écrire un petit soft qui doit se connecter a un petit serveur pour faire des petites choses ^^

J'ai écris ma structure à envoyer, la voici:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
typedef struct
{
  char                        begin_trame;
  char                        id_mess[3];
  unsigned char               stx; //0x02
  Eligi_Header                header;
  Eligi_Parameters_68 parameters;
  unsigned char               etx; //0x03
} __attribute__ ((packed)) Eligi_68;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
typedef struct
{
  char tm_smtp[14];
  char v_hdr[2];
  char typ_com; 
  char typ_ms; 
  char xxx[8];
  char yyy[8];
  char zzz[8];
  char n_trans[8];
  char id_mess[4];
  char n_use[8]; // non utilisé
  char lg_var[5];
} __attribute ((packed)) Eligi_Header;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
typedef struct
{
  char ind_id;
  char id_a[8];
  char id_m[14];
  char id_src;
} __attribute ((packed)) Eligi_Parameters_68;
Malheureusement, lorsque j'essayer d'envoyer à en TCP au serveur distant ma jolie petite structure avec ses jolies petites données grâce à la ligne:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
write(soc, sc, sizeof(Eligi_68))
J'ai en retour une jolie petite érreure 84 correspondant à EILSEQ.
Sous ce terme barbare ce cache la chose suivante:

[EILSEQ]
Illegal byte sequence A wide-character code has been detected that does not correspond to a valid character, or a byte sequence does not form a valid wide-character code.
Quelqu'un aurai t il déjà rencontré ce genre de problème ? Ou tout bètement aura une astuce pour me mettre sur la voix de la résolution ?

Zigo ^^