Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Python - Pemrograman Jaringan

Halaman SebelumnyaHalaman Berikutnya

Python menyediakan dua tingkat akses ke layanan jaringan. Pada tingkat rendah, Anda dapat mengakses dukungan soket dasar di sistem operasi yang mendasarinya, yang memungkinkan Anda untuk mengimplementasikan klien dan server untuk protokol berorientasi koneksi dan tanpa koneksi.

Python juga memiliki perpustakaan yang menyediakan akses tingkat tinggi ke protokol jaringan tingkat aplikasi tertentu, seperti FTP, HTTP, dan sebagainya.

Bab ini memberi Anda pemahaman tentang konsep paling terkenal dalam Jaringan - Pemrograman Soket.

Apa itu Soket?

Soket adalah titik akhir dari saluran komunikasi dua arah. Soket dapat berkomunikasi dalam suatu proses, antara proses pada mesin yang sama, atau antara proses di benua yang berbeda.

Soket dapat diimplementasikan melalui sejumlah jenis saluran yang berbeda:soket domain Unix, TCP, UDP, dan sebagainya. soket library menyediakan kelas khusus untuk menangani transportasi umum serta antarmuka umum untuk menangani sisanya.

Soket memiliki kosakata sendiri

No.Sr. Istilah &Deskripsi
1

Domain

Keluarga protokol yang digunakan sebagai mekanisme transport. Nilai-nilai ini adalah konstanta seperti AF_INET, PF_INET, PF_UNIX, PF_X25, dan seterusnya.

2

ketik

Jenis komunikasi antara dua titik akhir, biasanya SOCK_STREAM untuk protokol berorientasi koneksi dan SOCK_DGRAM untuk protokol tanpa koneksi.

3

protokol

Biasanya nol, ini dapat digunakan untuk mengidentifikasi varian protokol dalam domain dan jenis.

4

nama host

Pengidentifikasi antarmuka jaringan

  • String, yang dapat berupa nama host, alamat kuadrat bertitik, atau alamat IPv6 dalam notasi titik dua (dan mungkin titik)

  • String "", yang menentukan alamat INADDR_BROADCAST.

  • String panjang nol, yang menentukan INADDR_ANY, atau

  • Sebuah Integer, ditafsirkan sebagai alamat biner dalam urutan byte host.

5

pelabuhan

Setiap server mendengarkan klien yang memanggil satu atau lebih port. Port dapat berupa nomor port Fixnum, string yang berisi nomor port, atau nama layanan.

Soket Modul

Untuk membuat soket, Anda harus menggunakan socket.socket() fungsi tersedia di soket modul, yang memiliki sintaks umum

s =socket.socket (socket_family, socket_type, protocol=0)

Berikut adalah deskripsi parameter

  • keluarga_soket Ini adalah AF_UNIX atau AF_INET, seperti yang dijelaskan sebelumnya.

  • jenis_soket Ini adalah SOCK_STREAM atau SOCK_DGRAM.

  • protokol Ini biasanya ditinggalkan, default ke 0.

Setelah Anda memiliki soket objek, maka Anda dapat menggunakan fungsi yang diperlukan untuk membuat program klien atau server Anda. Berikut adalah daftar fungsi yang dibutuhkan

Metode Soket Server

No.Sr. Metode &Deskripsi
1

s.bind()

Metode ini mengikat alamat (nama host, pasangan nomor port) ke soket.

2

s.listen()

Metode ini menyiapkan dan memulai pendengar TCP.

3

s.accept()

Ini secara pasif menerima koneksi klien TCP, menunggu hingga koneksi tiba (pemblokiran).

Metode Soket Klien

No.Sr. Metode &Deskripsi
1

s.connect()

Metode ini secara aktif memulai koneksi server TCP.

Metode Soket Umum

No.Sr. Metode &Deskripsi
1

s.recv()

Metode ini menerima pesan TCP

2

s.send()

Metode ini mengirimkan pesan TCP

3

s.recvfrom()

Metode ini menerima pesan UDP

4

s.sendto()

Metode ini mengirimkan pesan UDP

5

s.close()

Metode ini menutup soket

6

socket.gethostname()

Mengembalikan nama host.

Server Sederhana

Untuk menulis server Internet, kami menggunakan soket fungsi yang tersedia di modul socket untuk membuat objek socket. Objek soket kemudian digunakan untuk memanggil fungsi lain untuk menyiapkan server soket.

Sekarang panggil bind(hostname, port) fungsi untuk menentukan port untuk layanan Anda pada host yang diberikan.

Selanjutnya, panggil terima metode objek yang dikembalikan. Metode ini menunggu hingga klien terhubung ke port yang Anda tentukan, lalu mengembalikan koneksi objek yang mewakili koneksi ke klien itu.

#!/usr/bin/python # Ini adalah server.py fileimport socket # Impor socket modules =socket.socket() # Buat socket objecthost =socket.gethostname() # Dapatkan mesin lokal nameport =12345 # Cadangan port untuk service.s.bind((host, port)) Anda # Bind to the ports.listen(5) # Sekarang tunggu koneksi klien. while True:c, addr =s.accept() # Membangun koneksi dengan klien. print 'Mendapat koneksi dari', addr c.send('Terima kasih telah terhubung') c.close() # Tutup koneksi

Klien Sederhana

Mari kita menulis program klien yang sangat sederhana yang membuka koneksi ke port tertentu 12345 dan host yang diberikan. Ini sangat sederhana untuk membuat klien soket menggunakan soket Python fungsi modul.

socket.connect(hosname, port ) membuka koneksi TCP ke nama host di pelabuhan . Setelah soket terbuka, Anda dapat membacanya seperti objek IO lainnya. Setelah selesai, ingatlah untuk menutupnya, seperti Anda menutup file.

Kode berikut adalah klien yang sangat sederhana yang terhubung ke host dan port tertentu, membaca data apa pun yang tersedia dari soket, lalu keluar −

#!/usr/bin/python # Ini adalah client.py fileimport socket # Impor socket modules =socket.socket() # Buat socket objecthost =socket.gethostname() # Dapatkan mesin lokal nameport =12345 # Cadangan port untuk service.s.connect((host, port))print s.recv(1024)s.close() Anda # Tutup soket setelah selesai

Sekarang jalankan server.py ini di latar belakang lalu jalankan di atas client.py untuk melihat hasilnya.

# Berikut ini akan memulai server di latar belakang.$ python server.py &# Setelah server dijalankan, jalankan klien sebagai berikut:$ python client.py

Ini akan menghasilkan hasil berikut

Dapatkan koneksi dari ('127.0.0.1', 48437)Terima kasih telah terhubung

Modul Internet Python

Daftar beberapa modul penting dalam pemrograman Jaringan/Internet Python.

Protokol Fungsi umum No Port Modul Python
HTTP Halaman web 80 httplib, urllib, xmlrpclib
NNTP Gunakan berita 119 nntplib
FTP Transfer file 20 ftplib, urllib
SMTP Mengirim email 25 smtplib
POP3 Mengambil email 110 poplib
IMAP4 Mengambil email 143 imaplib
Telnet Baris perintah 23 telnetlib
Gopher Transfer dokumen 70 gopherlib, urllib

Harap periksa semua pustaka yang disebutkan di atas agar berfungsi dengan protokol FTP, SMTP, POP, dan IMAP.

Bacaan Lebih Lanjut

Ini adalah awal yang cepat dengan Pemrograman Socket. Ini adalah subjek yang luas. Disarankan untuk membuka tautan berikut untuk menemukan detail lebih lanjut

  • Pemrograman Soket Unix.

  • Pustaka dan Modul Soket Python.


Python

  1. Slot Kelas Python
  2. Periksa penggunaan memori objek Python Anda
  3. Python - Tanggal &Waktu
  4. Python 2 vs Python 3:Apa Perbedaan Antara Python 2.x dan Python 3.x?
  5. Salin File dengan Python:shutil.copy(), metode shutil.copystat()
  6. Python Mengembalikan Beberapa Nilai