aeroxr1 ha scritto:
Ciao,
1) Gli endian non mi sono molto chiari. Cioè se io devo inviare un intero in rete, da quello che ho studiato devo convertiro in network byte order giusto ?
2) Io pensavo andasse usato htonl() in tutti i casi ci fosse stato un numero da inviare tramite rete. Ma a quanto pare erravo , poichè diverse volte mi è stato detto , ma che diavolo fai ????
In sostanza non ho capito quando devo usare htonl e quando no ..
Regola base:
non si usa nulla se non e' strettamente neccessario!
E se non sai se serve o no,
non e' neccessario! Quindi,
non si usa.
La cosa e' complicata: si usano
SOLO se devi far parlare tra di loro macchine di tipo diverso, ad esempio computer basati su processori Intel e computer basati su processori PowerPC (esatto, quelli che una volta usava la Apple), e i dati passati devono essere
interpretati[/i] dai programmi che inviano e ricevono.
Il TCP se ne fa un baffo di che cosa passa e a che serve. Per lui sono byte in un certo ordine che deve inviare e ricevere.
Il TCP ASSICURA che l'ORDINE dei byte venga MANTENUTO, ma che cosa siano questi byte, non gliene puo' ... de meno.