que tu sois en réseau ou pas, l'endianness est un point à prendre en compte pour permettre la communication entre différentes machines.
Réécrire ta propre fonction de swap te semble fonctionner, mais c'est faux. Il suffit que tu exécutes ton programme sur une machine big endian et il échouera nécessairement. il _faut_ passer par les fonctions exposées par ton langage et ses bibliothèques standard pour effectuer cette conversion, parce que c'est du ressort de l'implémentation de déterminer si, pour obtenir des entiers qui ont du sens à partir de données en big endian, il faut oui ou non faire le swap.
dans mon premier post, j'ai cru que tu étais en C ... En Delphi, je ne sais pas comment s'appellent ces fonctions, mais je ne pense pas que les recoder toi-même puisse être une bonne idée. Ces fonctions sont la base de ce que le langage doit te proposer, AMHA.
Edit : c'est flippant de chercfher sur google et de voir le nombre de personnes qui réécrivent ces fonctions de manière absolument pas portable en pensant avoir réolu le problème ...
Message édité par theshockwave le 07-09-2010 à 13:37:58
---------------
last.fm