cari
Rumahpembangunan bahagian belakangTutorial PythonPengenalan kepada Pengaturcaraan Rangkaian di Python

Tutorial ini memperkenalkan soket python dan menunjukkan bangunan pelayan HTTP dan pelanggan menggunakan modul socket. Ia juga meneroka Tornado, perpustakaan rangkaian Python yang sesuai untuk pengundian panjang, websocket, dan aplikasi yang memerlukan sambungan pengguna yang berterusan.

Memahami SOCKETS

Soket bertindak sebagai saluran komunikasi antara dua aplikasi, sama ada pada mesin yang sama atau di seluruh rangkaian. Pada asasnya, ia adalah hubungan sambungan antara pelayan dan pelanggan; Pelayan menyediakan maklumat yang diminta oleh pelanggan. Sebagai contoh, penyemak imbas anda menggunakan soket untuk menyambung ke pelayan web apabila anda melawat laman web.

modul socket

Penciptaan soket menggunakan fungsi socket.socket():

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

argumen:

  • socket_family: Alamat Keluarga (mis., untuk IPv4, socket.AF_INET untuk IPv6). socket.AF_INET6
  • : Jenis soket (mis., socket_type socket.SOCK_STREAM socket.SOCK_DGRAM: Biasanya lalai hingga 0.
  • Sebaik sahaja anda mempunyai objek soket, anda boleh membina pelayan atau klien menggunakan kaedahnya. protocol
  • Membuat pelanggan mudah

Kaedah Pelanggan Utama:

: Menetapkan sambungan TCP.
  • s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) Contoh:
  • s.connect()
  • Membina pelayan mudah

Kaedah Pelayan Utama:
import socket

stream_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server = "localhost"
port = 8080
server_address = (server, port)
stream_socket.connect(server_address)

message = 'message'
stream_socket.sendall(message.encode())

data = stream_socket.recv(10)
print(data)

stream_socket.close()

: Menetapkan alamat (nama host, port) ke soket.

  • : mula mendengar sambungan TCP. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  • : Menerima sambungan klien TCP. s.bind()
  • Contoh: s.listen()
  • Jalankan klien dan pelayan dalam terminal berasingan untuk komunikasi. Gunakan s.accept() (atau arahan yang sama untuk OS anda) untuk memeriksa penggunaan port.

Rangka Kerja Tornado

import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = 'localhost'
port = 8080
sock.bind((host, port))
sock.listen(1)

print('Waiting for a connection')
connection, client = sock.accept()
print(client, 'connected')

data = connection.recv(16)
print('Received "%s"' % data)
if data:
    connection.sendall(data)
else:
    print('No data from', client)

connection.close()

Tornado adalah kerangka web python dan perpustakaan rangkaian asynchronous. I/O yang tidak menyekatnya mengendalikan banyak sambungan serentak, menjadikannya sesuai untuk pengundian panjang, websocket, dan aplikasi yang memerlukan sambungan yang berterusan. netstat -ntlp

Contoh WebSocket Tornado Mudah:

Tornado juga mengintegrasikan dengan

, membolehkan penggunaan kedua -dua perpustakaan dalam gelung acara yang sama.

segerak vs pengaturcaraan asynchronous

import tornado.ioloop
import tornado.web

class ApplicationHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("""<title>Tornado Framework</title><h2 id="Welcome-to-the-Tornado-framework">Welcome to the Tornado framework</h2>""")

if __name__ == "__main__":
    application = tornado.web.Application([
        (r"/", ApplicationHandler),
    ])
    application.listen(5001)
    tornado.ioloop.IOLoop.instance().start()

Pengaturcaraan Synchronous melaksanakan tugas secara berurutan, sementara pengaturcaraan tak segerak membolehkan pelaksanaan tugas serentak tanpa menunggu orang lain selesai. Pengaturcaraan asynchronous adalah berfaedah apabila berurusan dengan operasi I/O yang terikat seperti panggilan API, menghalang kelewatan dan meningkatkan respons aplikasi. Keupayaan asynchronous tornado amat berguna untuk mengendalikan permintaan API berganda secara serentak.

Kesimpulan

Tutorial ini menyediakan asas untuk pengaturcaraan soket di Python dan menunjukkan penciptaan pelayan/pelanggan mudah. Penjelajahan lanjut modul socket dan tornado akan meningkatkan keupayaan rangkaian anda. Ingatlah untuk berunding dengan dokumentasi Python rasmi untuk maklumat yang lebih terperinci.

Introduction to Network Programming in Python (imej output webserver tornado - gantikan dengan url imej sebenar jika tersedia)

Atas ialah kandungan terperinci Pengenalan kepada Pengaturcaraan Rangkaian di Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Kenapa array secara amnya lebih cekap memori daripada senarai untuk menyimpan data berangka?Kenapa array secara amnya lebih cekap memori daripada senarai untuk menyimpan data berangka?May 05, 2025 am 12:15 AM

ArraysareGenerallymorememememory-efficientthanlistsforstoringnumericaldataduetotheirfixed-sizenatureanddirectmemoryaccess.1) arraysstoreelementsinacontiguousblock, reducingoverheadfrointersormetadata.2)

Bagaimana anda boleh menukar senarai python ke array python?Bagaimana anda boleh menukar senarai python ke array python?May 05, 2025 am 12:10 AM

ToConvertapythonlisttoanarray, usetheArraymodule: 1) importThearraymodule, 2) createalist, 3) UseArray (typecode, list) toConvertit, spesifyingthetypecodelike'i'forintegers.ThisconversionOptimizesMogenhomogeneousdata, enHomerMogeneShomogeneousdata, enHomerMogeneousdata, enhomoMogenerDataShomaSdata, enhomoMogenhomogeneousdata,

Bolehkah anda menyimpan jenis data yang berbeza dalam senarai python yang sama? Beri contoh.Bolehkah anda menyimpan jenis data yang berbeza dalam senarai python yang sama? Beri contoh.May 05, 2025 am 12:10 AM

Senarai Python boleh menyimpan pelbagai jenis data. Senarai contoh mengandungi integer, rentetan, nombor titik terapung, boolean, senarai bersarang, dan kamus. Senarai fleksibiliti adalah berharga dalam pemprosesan data dan prototaip, tetapi ia perlu digunakan dengan berhati -hati untuk memastikan kebolehbacaan dan pemeliharaan kod.

Apakah perbezaan antara tatasusunan dan senarai di Python?Apakah perbezaan antara tatasusunan dan senarai di Python?May 05, 2025 am 12:06 AM

Pythondoesnothavebuilt-inarrays;usethearraymoduleformemory-efficienthomogeneousdatastorage,whilelistsareversatileformixeddatatypes.Arraysareefficientforlargedatasetsofthesametype,whereaslistsofferflexibilityandareeasiertouseformixedorsmallerdatasets.

Modul apa yang biasa digunakan untuk membuat tatasusunan di Python?Modul apa yang biasa digunakan untuk membuat tatasusunan di Python?May 05, 2025 am 12:02 AM

Themostcomonlyedmoduleforcreatingarraysinpythonisnumpy.1) numpyprovidesefficienttoolsforarrayoperations, idealfornumericaldata.2) arrayscanbecreatedingingnp.array () for1dand2dstructures

Bagaimana anda menambah elemen ke senarai python?Bagaimana anda menambah elemen ke senarai python?May 04, 2025 am 12:17 AM

ToAppendElementStoapyThonList, useTheAppend () methodforsingleelements, extend () formultipleelements, andInsert () forspecificposition.1) useAppend () foraddingOneElementAttheend.2)

Bagaimana anda membuat senarai python? Beri contoh.Bagaimana anda membuat senarai python? Beri contoh.May 04, 2025 am 12:16 AM

TOCREATEAPYTHONLIST, USESQUAREBRACKETS [] danSeparatateItemSwithCommas.1) listsaredynamicandCanHoldMixedDatypes.2) UseAppend (), mengalih keluar (), danSlicingFormApulation.3)

Bincangkan kes penggunaan dunia sebenar di mana penyimpanan dan pemprosesan data berangka yang cekap adalah kritikal.Bincangkan kes penggunaan dunia sebenar di mana penyimpanan dan pemprosesan data berangka yang cekap adalah kritikal.May 04, 2025 am 12:11 AM

Dalam bidang kewangan, penyelidikan saintifik, penjagaan perubatan dan AI, adalah penting untuk menyimpan dan memproses data berangka dengan cekap. 1) Dalam Kewangan, menggunakan memori yang dipetakan fail dan perpustakaan Numpy dapat meningkatkan kelajuan pemprosesan data dengan ketara. 2) Dalam bidang penyelidikan saintifik, fail HDF5 dioptimumkan untuk penyimpanan data dan pengambilan semula. 3) Dalam penjagaan perubatan, teknologi pengoptimuman pangkalan data seperti pengindeksan dan pembahagian meningkatkan prestasi pertanyaan data. 4) Dalam AI, data sharding dan diedarkan latihan mempercepatkan latihan model. Prestasi dan skalabiliti sistem dapat ditingkatkan dengan ketara dengan memilih alat dan teknologi yang tepat dan menimbang perdagangan antara kelajuan penyimpanan dan pemprosesan.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini