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 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 di 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 transport umum serta antarmuka umum untuk menangani sisanya.

Soket memiliki kosakata sendiri

No.No. 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

  • Sebuah string, yang dapat berupa nama host, alamat empat titik, 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

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.No. 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           # This is server.py file

import socket               # Import socket module

s = socket.socket()         # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345                # Reserve a port for your service.
s.bind((host, port))        # Bind to the port

s.listen(5)                 # Now wait for client connection.
while True:
   c, addr = s.accept()     # Establish connection with client.
   print 'Got connection from', addr
   c.send('Thank you for connecting')
   c.close()                # Close the connection

Klien Sederhana

Mari kita menulis program klien yang sangat sederhana yang membuka koneksi ke port 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           # This is client.py file

import socket               # Import socket module

s = socket.socket()         # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345                # Reserve a port for your service.

s.connect((host, port))
print s.recv(1024)
s.close()                     # Close the socket when done

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

# Following would start a server in background.
$ python server.py & 

# Once server is started run client as follows:
$ python client.py

Ini akan menghasilkan hasil berikut

Got connection from ('127.0.0.1', 48437)
Thank you for connecting

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


Python

  1. Tipe Data Python
  2. Operator Python
  3. Pernyataan lulus python
  4. Argumen Fungsi Python
  5. Kamus Python
  6. Pemrograman Berorientasi Objek Python
  7. Python Iterator
  8. Penutupan Python
  9. Tanggal waktu Python
  10. Python tidur()