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.
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.
Untuk menggunakan modul Socket dalam Python, anda perlu mengimport modul terlebih dahulu:
import socket
Buat objek Soket:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
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)
Kemudian, anda boleh mengikat alamat IP dan port melalui kaedah bind():
sock.bind(('127.0.0.1', 8080))
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()
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.
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()
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
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!