Python - vairāki savienojumi

Satura rādītājs
Kā mēs zinām Python Tajā ir daudz bibliotēku, kas ļauj mums strādāt un pārvaldīt savienojumus tīklos neatkarīgi no tā, vai mēs izveidojam savienojumu ar attāliem failiem vai mūsu programma kalpo kā serveris, pamatpiemēros, kā izmantot ligzdas ar Python ir redzams, ka ar to ir ļoti viegli rīkoties, izmantojot moduli kontaktligzdaTomēr, lai tā būtu spēcīgāka lietojumprogramma, mums jāspēj apstrādāt vairākus savienojumus.
Lai apstrādātu vairākus savienojumus Python mēs varam izmantot Dakša un no Vītņošana, lai varētu ģenerēt asinhronus ievades un izvades procesus, kas ļauj mums vienlaikus apmeklēt vairākus savienojumus.
Dakša un diegi
Ja mēs esam tikai pirmajos soļos, lai iemācītos programmēt vai ja mēs esam veikuši tikai strukturētu programmēšanu, iespējams, ka šie termini var šķist sarežģīti un nezināmi, tomēr tie ir vienkārši jēdzieni, ko saprast un sagremot, pirms turpināt darbu, apskatīsim definīcijas.
Dakša: Tas ir termins, ko lieto vidē UNIX un sastāv no bifurkācijas, ar procesu mēs to dublējam, un tad mums ir divi vienādi procesi, bet katrs ar savu darbības jomu, sākotnējais process ir pazīstams kā vecāku process, un dublētais process ir pazīstams kā bērna process, ja mēs to darām analoģiski ar zinātnisko fantastiku, mēs varam tos uzskatīt par paralēliem Visumiem, kur vienas un tās pašas lietas pastāv tikai un vienīgi tajās pašās vietās.
Mīnuss Dakša tas var būt ļoti dārgi resursu ziņā, un tāpēc mums ir Vītņošana, a Vītne Tas ir pavediens, šajā gadījumā pavedieni ir apakšprocesi, kas pieder vienam procesam, koplietojot atmiņu un resursus, tādā veidā mēs samazinām procesora resursu izmaksas, tomēr, kopīgojot atmiņu, mēs atrodam problēmu, kas mums ir jābūt ļoti uzmanīgi ar elementiem, kuriem Pavedieni lai neradītu apdraudētas darbības.
Tagad, kad mēs zinām teoriju un pamatjēdzienus, mēs redzēsim dažus piemērus, ar kuriem mēs varam redzēt lietojumprogrammu Python.
Kā mēs teicām sākumā, pateicoties lielajam moduļu un bibliotēku skaitam, kas pastāv Python, izveidot programmas ar tīkla funkcijām ir ļoti vienkārši, tāpēc mēs varam koncentrēties uz loģiku, nevis uz tehniskajiem aspektiem.
Tālāk redzamajā attēlā aplūkosim piemēru Dakša, tad mēs paskaidrosim, kas notiek ar kodu:

Pirmā lieta, ko mēs darām, ir importēt nepieciešamos moduļus SocketServer, ir svarīgi, lai mēs to aplūkotu ForkingMixIn kurš būs atbildīgs par procesu dublēšanās pārvaldību ar katru pieprasījumu, tad mēs definējam klasi Serveris Y HendlersHandlerā mēs ievietojam konstruktoru, kurš pārvaldīs to, kas notiks ar ienākošajiem savienojumiem, šajā gadījumā tas iegūs klienta vārdu un izveidos ziņojuma sietspiedi; Visbeidzot, mēs izveidojam servera klases paraugu, nododam tam parametrus, vispirms portu, kurā tas pieņems savienojumus, un pēc tam klasi Hendlers, beidzot mēs saucam metodi serve_forever lai palaistu serveri, lai tas varētu pārvaldīt klientu pieprasījumus.
Kā redzam, šī lietojumprogramma ir diezgan vienkārša, redzēsim, kā mēs varam sasniegt kaut ko līdzīgu, izmantojot Pavedieni, šādā attēlā mums ir piemērs:

Mēs varam saprast, ka tas ir gandrīz tieši tāds pats kods iepriekš ar atšķirību, ka tā vietā, lai to lietotu ForkingMixIn, mēs izmantojam ThreadingMixInTātad, kā mēs redzam, šīs ir galvenās bibliotēkas šai uzvedībai, veidojot programmas, kas pieņem vairākus savienojumus.Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave