Endianness: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
TCP/IP endianness (επεξεργασία με το ProveIt)
Γραμμή 17:
Πρόβλημα με την αναπαράσταση big-endian ή little-endian δημιουργείται όταν ένας υπολογιστής επικοινωνεί με ένα άλλο υπολογιστή μέσω ενός [[Δίκτυο υπολογιστών|δικτύου]] και χρησιμοποιεί διαφορετικό ''endianness''. Για να αποφεύγονται τα προβλήματα αυτά στην επικοινωνίες μέσω δικτύου χρησιμοποιούνται τα πρωτόκολλα επικοινωνίας και γίνονται οι απαραίτητες μετατροπές στην κωδικοποίηση ώστε να επιτευχθεί η δικτυακή μεταφορά δεδομένων. <ref name="Computer_systems_book_Addressing_and_Byte_Ordering"/>
 
Στο μοντέλο [[TCP/IP]] και σε όλα τα επίπεδα επικοινωνίας χρησιμοποιείται η κωδικοποίηση "big-endian". Οποιαδήποτε τιμή 16 ή 32bit μεταφέρεται μεταξύ των επιπέδων του TCP/IP όπως η IP διεύθυνση ή αριθμητικά ελέγχου (checksums) κλπ θα πρέπει να έχουν το σημαντικότερο byte πρώτο (όπως καθορίζεται με την κωδικοποίηση "big-endian"). Η big-endian κωδικοποίηση αυτή ονομάζεται και "network byte order". Υπάρχουν οι συναρτήσεις htonl, htons, ntohl, ntohs στην γλώσσα προγραμματισμού C με τις οποίες χρησιμοποιούνται για το μετασχηματισμό μεταξύ των δύο κωδικοποιήσεων endianness για την επίτευξη επικοινωνίας υπολογιστών με διαφορετικό endianness. <ref name="tpc_ip_sockets_endianness">{{cite book | title=TCP/IP Sockets in C: Practical Guide for Programmers | author=Michael J. Donahoo, Kenneth L. Calvert | year=2009 | publisher=Morgan Kaufmann | pages=66-67 | isbn=978-0123745408 | url=http://books.google.gr/books?id=dmt_mERzxV4C&pg=PA67#v=onepage&q&f=false}}</ref> <ref name="embedded_systems_p100_endianness">{{cite book | title=Programming Embedded Systems: With C and GNU Development Tools | author=Michael Barr, Anthony Massa | year=2006 | publisher=O'Reilly Media | pages=100 | isbn=978-0596009830 | url=http://books.google.gr/books?id=HShCCaIAhwMC&pg=PA100#v=onepage&q&f=false}}</ref>
 
==Παράδειγμα==
Ανακτήθηκε από "https://el.wikipedia.org/wiki/Endianness"