Chapter 1 — Python Network Programming Cookbook Second Edition (Translate Indonesia) | Konversi Integer dari Host ke Urutan Byte Jaringan

Chalid Ade Rahman
2 min readMar 26, 2019

--

Chapter 1

Sockets, IPv4, and Simple Client/Server Programming

1. Tujuan :

Adapun materi dalam praktikum ini diantaranya :

  1. Mencetak hostname dan alamat IPv4 Komputer
  2. Mendapatkan alamat IP dari remote mechine
  3. Mengonversi alamat IPv4 ke dalam format lainya
  4. Menemukan nama layanan, diberi port dan protokol
  5. Mengubah integer ke dan dari host ke urutan byte jaringan
  6. Mengatur dan mendapatkan batas waktu soket default
  7. Menangani socket error dengan baik
  8. Memodifikasi ukuran buffer
  9. Mengubah soket ke mode pemblokiran / non-pemblokiran
  10. Menggunakan kembali alamat soket
  11. Mencetak waktu terkini dari time server internet
  12. Membuat Program SNTP Client
  13. Membuat aplikasi client/ server TCP sederhana
  14. Membuat aplikasi client / server UDP sederhana

2. Percobaan

E. Konversi Integer dari Host ke Urutan Byte Jaringan

Jika Anda perlu menulis aplikasi jaringan level rendah, mungkin perlu menangani transmisi data level rendah melalui kabel antara dua mesin. Operasi ini memerlukan semacam konversi data dari sistem operasi host asli ke format jaringan dan sebaliknya. Ini karena masing-masing memiliki representasi data tersendiri.

Cara Melakukannya :

Python Socket Library memiliki utilitas untuk mengkonversi dari urutan byte jaringan ke urutan byte host dan sebaliknya. Anda mungkin ingin membiasakan diri dengan mereka, misalnya, ntohl () / htonl ().

Mari kita mendefinisikan fungsi convert_integer (), di mana fungsi soket kelas ntohl () / htonl () digunakan untuk mengkonversi format alamat IP.

Listing 1.5 memperlihatkan integer_conversion sebagai berikut:

#!/usr/bin/env python

# Python Network Programming Cookbook, Second Edition — Chapter — 1

# This program is optimized for Python 2.7.12 and Python 3.5.2.

# It may run on any other version with/without modifications.

import socket

def convert_integer():

data = 1234

# 32-bit

print (“Original: %s => Long host byte order: %s, Network byte order:

%s” %(data, socket.ntohl(data), socket.htonl(data)))

# 16-bit

print (“Original: %s => Short host byte order: %s, Network byte order:

%s” %(data, socket.ntohs(data), socket.htons(data)))

if __name__ == ‘__main__’:

convert_integer()

Jika Anda run program diatas, maka akan muncul tampilan seperti berikut :

Cara Kerjanya :

Di sini, kami mengambil bilangan bulat dan menunjukkan cara mengubahnya antara perintah jaringan dan byte host. Fungsi kelas soket ntohl () mengkonversi dari urutan byte jaringan ke urutan byte host dalam format yang panjang. Di sini, n mewakili jaringan dan h mewakili host; l mewakili panjang dan s mewakili pendek, yaitu 16-bit.

--

--

Chalid Ade Rahman
Chalid Ade Rahman

Written by Chalid Ade Rahman

PHP Programmer | PT Electronic Data Interchange Indonesia | Question : chalidade@gmail.com

No responses yet