5 entry daha
  • network programming yaparken, yollanacak datanın dönüştürüldüğü -eğer alet zaten big endian değilse- byte saklama formatıdır. peki dönüştürülmek zorunda mıdır? aslında burada dönüştürülen data, programcının kendi application layer datası olacağı için, dönüştürme olayı tamamen programcıya kalmıştır. eğer client da server da, aynı anda little endian ya da big endian kullanıyorsa, dönüştürülmeden yollanan veri herhangi bir sorun teşkil etmeyecektir. 1 değerine sahip bir integer değişkeni, karşı tarafta da 1 olarak okunacaktır. kısacası sistem takır takır çalışacaktır.

    tabi buraya kadar, tüm cihazların aynı endian formatına sahip olduğunu varsaydık. ama networking olayına farklı türden işlemciler da dahil olabileceği için, programcının, daima little endian bilgisayarlardan dönüştürmeden yolladığı değer bir gün big endian bir makine tarafından alınacak ve karşıdan 1 olarak yollanan integer değeri yerel makinede 16777216 olarak yorumlanacaktır.

    demem odur ki, yazılıma portability sağlamak açısından gönderilecek data default olarak big endian'a dönüştürülmelidir. ama programcı kendi yazılımları arasında kullanacaksa ve endian formatının bütün bilgisayarlarda aynı olabileceğini garanti ediyorsa, dönüştürmese de olur. ama unutulmamalıdır ki, haberleşme ihtiyacı duyulan diğer tüm sistemler dataları big endian olarak yollayıp almaktadır. yani arada bir bilgi alışverişi olacaksa, gönderilecek data illa ki dönüştürülmelidir.
2 entry daha
hesabın var mı? giriş yap