Re: Network byte ordering ? (contd)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



google for "little endian" or "big endian"
will answer your question.

'Tis all about how you computer keeps integers in memory.

H.

On Tue, 10 Feb 2004, Amith wrote:

> hi all,
>             i send this structure over the network using sockets (UDP) 
> api .
> 
> struct temporary
> {
>  char name[10];
>  unsigned short x;
> }temp;
> 
> i assign :
> 
> strcpy(temp.name,"ABCDEFGHI");
> temp.x = 0x1100;
> 
> Now i capture the packet sent from my system using Ethereal ( the packet 
> capture  tool ).
> i observed that the string  ( char name [10] ) was transmitted as 
> expected i.e i could see the hex decimal values
> for A,B......I in order. i.e 41 42 43 ........48 49 00 .  But the 
> integer variable ( unsigned short x) was transmitted as  0x00 0x11 ( as 
> shown in ethereal ) and not as 0x1100 ( which was expected by me).
> 
> if it was something to do with "Network bye ordering " then :
> why didn't it happen with the string (char name[10]) and only with the 
> Integer var?
> why was it (char name[10] ) transmitted as it is ?
> 
> i'am confused. Any pointers or explanations would be very much helpfull.
> 
> cheers,
> Amith
> 
> PS: hope my question was clear.
> 
> 
> forgot to add some info .
> 
> when i add htons( ) to the code above as :
> temp.x = htons(0x1100);
> 
> it is transmitted as it is. i.e 0x11 0x00.
> 
> cheers,
> Amith
> 
> 
> 
> 
> 
> 
> --
> Kernelnewbies: Help each other learn about the Linux kernel.
> Archive:       http://mail.nl.linux.org/kernelnewbies/
> FAQ:           http://kernelnewbies.org/faq/
> 


--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux