Hvordan brukes Python i nettverk?
Python -programmeringsspråk spiller en viktig rolle i nettverksprogrammering. Python har et innebygd standardbibliotek som gir fullstendig støtte for datakoding og avkoding, nettverksprotokoller og alle andre nettverkskonsepter. Å skrive kodene for nettverksprogrammering i Python er mye enklere enn i C ++ eller Java. Python-programmeringsspråk gir to nivåer av tilgang til nettverkstjenester: lavt nivå og høyt nivå tilgang. Tilgangen på lavt nivå gir grunnleggende støttestøtte til operativsystemet. Mens tilgangen på høyt nivå tillater implementeringsprotokoller som FTP. Http, etc.
Denne artikkelen vil hjelpe deg med en grunnleggende forståelse av det mest kjente nettverksbegrepet i Python som er socket -programmering.
Hva er stikkontakter?
Stikkontakter gir en toveis kommunikasjonskanal mellom to endepunkter. Prosesser på andre maskiner, prosesser på samme maskin, og stikkontakt klarer å kommunisere med alle. De kan implementeres på forskjellige kanaler som UDP, TCP, UNIX -domenestikk, etc. Socket Library i Python gir forskjellige klasser for å administrere den vanlige dataoverføringen eller et generisk grensesnitt for å administrere resten. Stikkontakter bruker forskjellige typer protokoller for å bestemme port-til-portforbindelsen mellom servere og klienter. Disse protokollene brukes til FTP, SMTP, e -post, IP -adresse, DNS, etc. Ordforrådet til stikkontakter er annerledes. Ta en titt på følgende illustrasjon:
Begrep | Beskrivelse |
Domene | Sett med protokoller som brukes som transportmekanisme. |
Type | Definerer typen kommunikasjon mellom stikkontakter. |
Protokoll | Bestemmer type protokoll innenfor typen og domenet. |
Havn | Et lyttepunkt som serverne lytter til klienten ringer. Den består av navnet på en tjeneste, en streng som inneholder portnummeret og et fiksningsnummer. |
Vertsnavn | Identifiserer et nettverksgrensesnitt og består av følgende ting: En streng “” som identifiserer kringkastingsadressen. En null lengde streng. En streng som inneholder vertsnavnet, en dobbel-kvadratadresse eller en IPv6-adresse. Et heltall som definerer den binære adressen i vertsbytebestilling. |
Hva er stikkprogrammering?
Socket -programmering kobler to noder på et kommunikasjonsnettverk. Den ene noden er lytteren som ofte er kjent som server, og den andre når ut til serveren som ofte er kjent som klienten. For programmering av stikkontakt i Python, må sokkelmodulen inkluderes.
La oss utforske noen eksempler for å lære å implementere nettverksprogrammeringen i Python.
Eksempel 1:
I dette eksemplet lærer vi syntaksen til sokkelmodulen og hvordan du importerer den til et Python -program. Først importerer vi sokkelmodulen i Python -programmet ved å bruke "import socket" -uttalelsen "-uttalelsen. Deretter kan vi bruke funksjonene til sokkelmodulene. Her er syntaks for socket () -modulen:
ImportkontaktLa oss nå utføre uttalelsen for å se hva den kommer tilbake:
Her er følgende utgang:
Eksempel 2:
La oss nå lære å lage en enkel server og en enkel klient og se hvordan de kommuniserer med hverandre.
Her er kodingen på serversiden:
Importer først en stikkontakt og lag deretter et stikkontakt:
Importer stikkontakt som sFå navnet på maskinen ved å ringe gethostName () uttalelsen:
Vertsnavn = Socket.gethostname ()Oppgi portnummeret du vil at serveren skal lage en forbindelse mellom server og klient:
Portnum = 12345Nå, bind verten med porten for å starte en tilkobling:
s.Bind ((Hostname, Portnum))Neste trinn er å vente på klientforbindelsen:
SocketModule.Hør (5)Til slutt, etabler en forbindelse med klienten:
Mens sant:Følgende er klientsiden-koding:
For å starte en tilkobling, må sokkelmodulen importeres på klientsiden akkurat som den ble importert på serversiden:
Importer stikkontakt som sFølg den samme prosessen, få navnet på den lokale maskinen, og reserver porten som ble reservert av serveren for å etablere en tilkobling:
Vertsnavn = Socket.gethostname ()Nå, koble verten med porten og innlede en forbindelse mellom dem:
SocketModule.koble til (('127.0.0.1 ', portnum)))Når du er ferdig med både klient- og koding på serversiden, kan du starte både server og klient i bakgrunnen for å se resultatene:
Etter en vellykket forbindelse, vil du se følgende utdata:
Eksempel 3:
La oss se et annet eksempel for å ha en klarere forståelse for hvordan serveren kobles til klienten, samt hvordan serveren lytter til klienten.
Her er kodingen på serversiden:
For koding på serversiden, følg den samme prosessen. Importer kontakten, oppretter en sokkelmodul, reserver portnummeret, bind verten og porten og lytt til klienten. Hvis du kan observeres, blir "hvis" -tilstanden lagt til løkken for å sjekke en bestemt tilstand. Se følgende kode:
ImportkontaktFølgende er klientsiden-koding:
Prosessen med å knytte en forbindelse på klientsiden er igjen, den samme. Importer kontakten, oppretter en sokkelmodul, reserver portnummeret og koble porten med verten:
ImportkontaktNå, observer at klienten sender en melding til serveren - “Hei! Jeg er en melding fra klienten ”. Denne meldingen mottas av serveren, og den blir skrevet ut.
Etter den vellykkede forbindelsen mellom serveren og klienten, vil du se følgende utdata:
Konklusjon
Dette er en grunnleggende oversikt over socket -programmering i Python og en rask start med implementeringen. Imidlertid er det et stort emne og inneholder mange detaljer med kompleks koding. Når du har kommet praktisk med disse enkle programmene, vil du kunne komme inn i dybden av socket-programmering.