Python - Flere tilkoblinger

Innholdsfortegnelse
Som vi vet Python Den har mange biblioteker som lar oss jobbe og administrere tilkoblinger i nettverk, enten vi kobler til eksterne filer eller programmet vårt fungerer som en server, i grunnleggende eksempler på bruk av sockets med Python det har blitt sett at det håndteres veldig enkelt ved bruk av modulen stikkontaktFor at det skal være en mer robust applikasjon, må vi imidlertid kunne håndtere flere tilkoblinger.
For håndtering av flere tilkoblinger i Python vi kan bruke Forking og fra Tråd, for å kunne generere asynkrone inngangs- og utgangsprosesser som lar oss håndtere flere tilkoblinger samtidig.
Gaffel og gjenging
Hvis vi er i de første trinnene for å lære å programmere, eller hvis vi bare har gjort strukturert programmering, kan disse begrepene virke kompliserte til å være ukjente, men det er enkle begreper å forstå og fordøye, la oss se definisjonene før vi går videre.
Forking: Det er et begrep som brukes i miljøer UNIX og består av å lage en todelt, med en prosess dupliserer vi den, og så har vi to like prosesser, men hver med sitt omfang, den opprinnelige prosessen er kjent som overordnet prosess og den dupliserte prosessen er kjent som barneprosessen, hvis vi gjør en analogi med science fiction, kan vi se dem som parallelle universer, der de samme tingene eksisterer bare at de kan oppføre seg annerledes på de samme punktene.
Baksiden av Forking er at det kan være veldig dyrt når det gjelder ressurser, og det er derfor vi har Tråd, a Tråd Det er en tråd, i dette tilfellet er trådene delprosesser som tilhører samme prosess, som deler minne og ressurser, på denne måten senker vi kostnaden for prosessorressursene, men ved å dele minne finner vi problemet vi må være veldig forsiktig med elementene som Tråder for ikke å resultere i kompromitterte operasjoner.
Nå som vi kjenner teorien og de grunnleggende begrepene, skal vi se noen eksempler som vi kan se applikasjonen i Python.
Som vi hadde sagt i begynnelsen, takket være det store antallet moduler og biblioteker som finnes i Python, å lage programmer med nettverksfunksjoner er veldig enkelt, så vi kan konsentrere oss om logikken i stedet for de tekniske aspektene.
La oss se et eksempel på det følgende bildet Forking, så vil vi forklare hva som skjer med koden:

Det første vi gjør er å importere modulene vi trenger fra SocketServer, viktig som vi ser på er ForkingMixIn hvem som skal ha ansvaret for å administrere duplisering av prosessene med hver forespørsel, så definerer vi klassen Server Y HandlerInnen Handler plasserer vi en konstruktør, som er den som skal styre hva som vil skje med de innkommende forbindelsene, i dette tilfellet vil det få navnet på klienten og lage et skjermbilde av en melding; Til slutt instantierer vi Server -klassen, vi sender parametrene til den, først porten der den vil godta tilkoblinger og deretter klassen Handler, endelig kaller vi metoden serve_forever å starte serveren slik at den kan administrere klientforespørsler.
Som vi ser at denne applikasjonen er ganske enkel, la oss se hvordan vi kan oppnå noe lignende ved å bruke Tråder, i det følgende bildet har vi et eksempel:

Vi kan innse at det er nesten nøyaktig samme kode ovenfor med forskjellen som i stedet for å bruke ForkingMixIn, vi bruker ThreadingMixInSå, som vi kan se, er dette nøkkelbibliotekene for denne oppførselen når du lager programmer som godtar flere tilkoblinger.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave