3 måter å skrive en server på med Python

Innholdsfortegnelse:

3 måter å skrive en server på med Python
3 måter å skrive en server på med Python

Video: 3 måter å skrive en server på med Python

Video: 3 måter å skrive en server på med Python
Video: 30 ultimative Outlook tip og tricks til 2020 2024, April
Anonim

Å lage en server fra bunnen av er en stor oppgave. Imidlertid kan dette forbedre programmeringskunnskapene dine sterkt, og du kan endre den til dine behov. Denne opplæringen vil bruke python og lavt nivå socket programmering for å lage en server slik at klienter kan kommunisere med hverandre. Dette vil også bare dekke prosessen på windows. Noe informasjon vil bli gitt i instruksjonene, men hvis du bare vil ha koden, er den gitt i figurene. (Merk: instruksjonene som presenteres her er bare det grunnleggende).

Trinn

Metode 1 av 3: Installere Python

Skriv en server med Python Trinn 1
Skriv en server med Python Trinn 1

Trinn 1. Last ned Python

Gå til pythons hovednettsted og last ned Python 2.7.10. Etter at nedlastingen har gått, går du gjennom trinnene i python -installasjonsprogrammet med standardinnstillinger. Denne lenken finnes her

Skriv en server med Python Trinn 2
Skriv en server med Python Trinn 2

Trinn 2. Kjør IDLE (Python GUI)

Gå inn i Python 2.7 -mappen og kjør IDLE (Python GUI), python skal nå være i startmenyen der IDLE er plassert.

Skriv en server med Python Trinn 3
Skriv en server med Python Trinn 3

Trinn 3. Lag en ny fil

Gå til Fil i øverste venstre hjørne av det nyåpnede vinduet og velg Ny fil, du bør ha et tomt vindu åpent med tittelen Uten tittel.

Metode 2 av 3: Opprette serveren

Skriv en server med Python Trinn 4
Skriv en server med Python Trinn 4

Trinn 1. Importer nødvendige moduler

De to modulene som trengs for denne koden er "socket" og "threading". Dette kan gjøres ved å skrive på den første linjen "fra socket import *" og på den neste linjen "import threading".

Skriv en server med Python Trinn 5
Skriv en server med Python Trinn 5

Trinn 2. Opprett en ny tråd

Dette vil håndtere å matche 2 klienter opp med hverandre. Tråder er prosesser som kan kjøres mens hovedprogrammet kjører. Skriv akkurat slik figuren viser. Dette vil sette opp variablene i tråden slik at de kan kalles senere.

Skriv en server med Python Trinn 6
Skriv en server med Python Trinn 6

Trinn 3. Lag trådprosess

For at klientene skal kommunisere direkte må du sende til hverandre informasjonen, som inkluderer deres IP -adresse og hvilken port de bruker. For å gjøre dette må du opprette et socketobjekt som kan gjøres med “variableName = socket (AF_NET, SOCK_DGRAM)”. Dette vil opprette et socketobjekt som bruker UDP -protokollen. Neste Bind kontakten til IP -adressen din med et bestemt portnummer med “roomSocket.bind (('', self.port))" Det tomme området står for din egen pc -IP -adresse i ditt lokale nettverk og self.port tildeler portnummer som er inkludert når du ringer denne tråden. Det siste du må gjøre med denne kontakten er å sende informasjon gjennom den. Siden dette er en UDP -kontakt, må du ganske enkelt kjenne IP -en og porten til datamaskinen du sender informasjon til, og syntaksen for å sende er "socketName.sendto (IP, port)"

Skriv en server med Python Trinn 7
Skriv en server med Python Trinn 7

Trinn 4. Lag de globale variablene

For dette trinnet må du definere flere variabler, som inkluderer en brukerliste, portnummer, klienttall, klienter for tråden og rom -ID. Du må også opprette en sokkel slik at serveren din kan samhandle med internett. Dette gjøres ved å opprette et nytt socketobjekt og binde det til din IP -adresse med et bestemt portnummer. (Portnummeret kan være hva som helst, men det er vanligvis noe høyt for å unngå at du bruker en annen prosess eller bruker reserverte portnumre.)

Skriv en server med Python Trinn 8
Skriv en server med Python Trinn 8

Trinn 5. Lag hovedserverprosessen

Dette tar både klientadressen og starter tråden som ble opprettet tidligere. Dette inkluderer å vente på å motta data fra bufferen og få klientadressen og lagre den for å bli brukt i tråden. Måten å få informasjon fra kontakten på er å ringe med “socketName.recvfrom (1024)”, tallet her er bare mengden byte som blir lest om gangen. I dette eksemplet lagrer vi den i en variabel som heter userAddr, og når dette skjer kan du lagre denne adressen i listen som ble opprettet i trinn 4. If -setningen vil opprette en romtråd hvis to personer kobler seg til og vil bare opprette et rom når to forskjellige forbindelser skjer.

Skriv en server med Python Trinn 9
Skriv en server med Python Trinn 9

Trinn 6. Lagre arbeidet ditt

Dette bør gjøres i en katalog som er lett å komme til, slik at den lett kan nås for testing.

Metode 3 av 3: Testing

Skriv en server med Python Trinn 10
Skriv en server med Python Trinn 10

Trinn 1. Opprett en testklient

Dette er en veldig grunnleggende klient som bare vil håndtere om serveren hadde sendt informasjonen til den andre klienten til den nåværende klienten. Vær oppmerksom på at denne koden krever et servernavn i motsetning til serverkoden. Hvis du kjører alt dette på en datamaskin, bør servernavnet være navnet på din PC. Du kan finne ut datamaskinnavnet ditt ved å høyreklikke på Min datamaskin og gå til eiendommer.

Skriv en server med Python Trinn 11
Skriv en server med Python Trinn 11

Trinn 2. Lagre arbeidet ditt

Dette skal være i samme katalog som serverkoden.

Skriv en server med Python Trinn 12
Skriv en server med Python Trinn 12

Trinn 3. Åpne tre forskjellige kommandovinduer

Gå til startmenyen, og skriv "cmd" i søkefeltet og trykk enter. Gjør dette tre ganger. Vinduene skal se slik ut.

Skriv en server med Python Trinn 13
Skriv en server med Python Trinn 13

Trinn 4. Kjør programmene

Du må skrive den eksakte banen når du bruker kommandovinduet. Du må kjøre serverkoden først på ett kommandovindu og deretter testklientkoden på de to andre. Hvis alt var vellykket, vil du få noe av disse meldingene i vinduet ditt.

Advarsler

  • Dette programmet fungerer bare når du kjører det og tester klienter på det samme lokalnettet.
  • Python 2.7.10 er utdatert og nærmer seg slutten på støtten. For å fortsette å lage gode servere, anbefales det at den siste versjonen av Python 3 installeres i stedet.

Anbefalt: