sto scrivendo una applicazione client-server.
le comunicazioni tra i due avvengono inviando "messaggi" composti da un vettore di unsigned char che vengono tutti interpretati o come serie di caratteri ( se vine inviato/ricevuto una stringa) oppure come dei valori interi,ma
ho questo problema :

-----------------
int intero=3106;

unsigned char caratteri[20];

caratteri[5]=intero;
-----------------

che come capite NON funziona,perche'

(dec)3106 = (hex)C22

e ovviamente C22 NON ci sta in un solo unsigned char

dovrei fare :
caratteri[5]=0x0C
caratteri[6]=0x22

inoltre dato che devo inviare questi dati via tcp mi vedo costretto a doverli invertirli quindi :

caratteri[5]=0x22
caratteri[6]=0x0C


avete suggerimenti per risolvere questo problema ?