Å 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
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
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.
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
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".
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.
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)"
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.)
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.
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
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.
Trinn 2. Lagre arbeidet ditt
Dette skal være i samme katalog som serverkoden.
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.
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.