Chapter 1 — Python Network Programming Cookbook Second Edition (Translate Indonesia) | Mengatur Socket Timeout dari Settingan Default

Chalid Ade Rahman
2 min readMar 27, 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 socket timeout dari settingan 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

Mengatur Dan Mendapatkan Batas Waktu Soket Default

Kadang-kadang, Anda perlu memanipulasi nilai default properti tertentu dari perpustakaan soket, misalnya, batas waktu soket.

Cara Melakukannya :

Anda dapat membuat instance objek soket dan memanggil metode gettimeout () untuk mendapatkan nilai batas waktu default dan metode settimeout () untuk menetapkan nilai batas waktu tertentu. Ini sangat berguna dalam mengembangkan aplikasi server kustom.

Kami pertama-tama membuat objek soket di dalam fungsi test_socket_timeout (). Kemudian, kita dapat menggunakan metode instance pengambil / penyetel untuk memanipulasi nilai batas waktu.

Listing 1.6 menunjukkan socket_timeout 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 test_socket_timeout():

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

print (“Default socket timeout: %s” %s.gettimeout())

s.settimeout(100)

print (“Current socket timeout: %s” %s.gettimeout())

if __name__ == ‘__main__’:

test_socket_timeout()

Setelah menjalankan program diatas, Anda dapat melihat modifikasi dari default socket timeout seperti berikut :

Cara Kerjanya :

Dalam cuplikan kode ini, pertama-tama kita telah membuat objek soket dengan melewatkan keluarga soket dan jenis soket sebagai argumen pertama dan kedua dari konstruktor soket. Kemudian, Anda bisa mendapatkan nilai soket habis dengan memanggil gettimeout () dan mengubah nilainya dengan memanggil metode settimeout ().

Nilai batas waktu yang diteruskan ke metode settimeout () bisa dalam detik (float non-negatif) atau Tidak Ada. Metode ini digunakan untuk memanipulasi operasi blockingsocket. Mengatur batas waktu Tidak Ada menonaktifkan batas waktu pada operasi soket.

--

--

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