Pengaturcaraan pelayan Python: pelaksanaan pelayan soket paling mudah

WBOY
Lepaskan: 2023-06-18 12:24:10
asal
1804 orang telah melayarinya

Dengan perkembangan pesat pengkomputeran awan dan teknologi Internet of Things, pengaturcaraan rangkaian telah menjadi kemahiran yang semakin penting. Python ialah bahasa pengaturcaraan yang popular dan salah satu bahasa yang biasa digunakan untuk pengaturcaraan rangkaian. Socket ialah salah satu modul pengaturcaraan rangkaian yang paling penting dalam Python dan boleh melaksanakan pelbagai aplikasi rangkaian. Artikel ini akan memperkenalkan konsep asas dan penggunaan mudah modul Socket dalam Python, dan menyediakan pelaksanaan pelayan Socket yang paling mudah.

  1. Konsep asas modul Soket

Soket ialah teknologi komunikasi yang membolehkan aplikasi yang berbeza berkomunikasi dalam rangkaian. Dalam Python, Socket ialah modul pengaturcaraan rangkaian terbina dalam yang digunakan untuk melaksanakan pelbagai aplikasi rangkaian, seperti pelayan Web, pelayan FTP, pelayan SMTP dan pelbagai aplikasi klien. Dalam pengaturcaraan Socket, kedua-dua hujung komunikasi memerlukan objek Socket.

Terdapat empat jenis Soket: soket aliran (TCP), soket datagram (UDP), soket mentah (RAW) dan soket isyarat (SIGNAL). Antaranya, TCP ialah Soket penstriman, yang boleh mencapai penghantaran data yang boleh dipercayai dan berterusan apabila berkomunikasi di rangkaian melalui TCP ialah Soket datagram, yang boleh menghantar data apabila rangkaian tidak boleh dipercayai, yang boleh; mengendalikan protokol peringkat rendah; SIGNAL ialah soket isyarat, yang boleh merealisasikan komunikasi antara proses.

  1. Penggunaan asas modul Socket dalam Python

Untuk menggunakan modul Socket dalam Python, anda perlu mengimport modul terlebih dahulu:

import socket
Salin selepas log masuk

Buat objek Soket:

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Salin selepas log masuk

Antaranya, soket.AF_INET bermaksud menggunakan protokol IPv4, dan soket.SOCK_STREAM bermaksud menggunakan protokol penghantaran TCP. Jika anda perlu menggunakan protokol penghantaran UDP, anda perlu mengisytiharkannya seperti ini:

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
Salin selepas log masuk

Kemudian, anda boleh mengikat alamat IP dan port melalui kaedah bind():

sock.bind(('127.0.0.1', 8080))
Salin selepas log masuk

di mana, '127.0.0.1' bermaksud Alamat IP mesin ini, 8080 mewakili nombor port.

Akhir sekali, anda boleh mendengar permintaan sambungan klien melalui kaedah listen() dan menerima sambungan klien melalui kaedah accept():

sock.listen(5)
while True:
    conn, addr = sock.accept()
    data = conn.recv(1024)
    print(data.decode())
    conn.sendall('Hello, client'.encode())
    conn.close()
Salin selepas log masuk

Antaranya, listen(5) bermaksud yang paling banyak dalam baris gilir 5 permintaan sambungan dibenarkan, lebih daripada 5 akan ditolak. Kaedah accept() mengembalikan objek Socket yang disambungkan (conn) dan alamat klien (addr). Apabila menerima data yang dihantar oleh klien, anda boleh menggunakan kaedah recv() dan apabila menghantar data, anda boleh menggunakan kaedah sendall(). Akhir sekali, ingat untuk menutup sambungan.

  1. Pelaksanaan pelayan Soket yang paling mudah

Akhir sekali, mari kita lihat pelaksanaan pelayan Soket yang paling mudah, yang digunakan untuk menerima permintaan sambungan pelanggan dan mengembalikan "Helo, pelanggan" :

import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('127.0.0.1', 8080))
sock.listen(5)

while True:
    conn, addr = sock.accept()
    data = conn.recv(1024)
    print(data.decode())
    conn.sendall('Hello, client'.encode())
    conn.close()
Salin selepas log masuk

Jalankan skrip ini dalam terminal Anda dapat melihat bahawa pelayan telah mula mendengar permintaan sambungan pada port 8080. Pada masa ini, anda boleh menggunakan alat telnet untuk mensimulasikan klien dan menyambung ke pelayan:

telnet 127.0.0.1 8080
Salin selepas log masuk

Selepas sambungan berjaya, anda boleh memasukkan sebarang rentetan pada klien dan pelayan akan kembali "Hello, pelanggan". Pada ketika ini, pelaksanaan pelayan Soket yang paling mudah telah selesai.

Ringkasan

Dengan membaca artikel ini, anda telah memahami konsep asas dan penggunaan mudah modul Socket dalam Python, dan cara melaksanakan pelayan Socket yang paling ringkas. Socket ialah salah satu modul pengaturcaraan rangkaian yang paling penting dalam Python, yang boleh melaksanakan pelbagai aplikasi rangkaian, seperti pelayan Web, pelayan FTP, pelayan SMTP, dan pelbagai aplikasi klien. Jika anda perlu melakukan pengaturcaraan rangkaian, Socket ialah salah satu alat anda yang sangat diperlukan.

Atas ialah kandungan terperinci Pengaturcaraan pelayan Python: pelaksanaan pelayan soket paling mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan