3 måder at skrive en server på med Python

Indholdsfortegnelse:

3 måder at skrive en server på med Python
3 måder at skrive en server på med Python

Video: 3 måder at skrive en server på med Python

Video: 3 måder at skrive en server på med Python
Video: How to create archive folder in Outlook 2024, April
Anonim

At oprette en server fra bunden er en stor opgave. Men det kan i høj grad forbedre dine programmeringsevner og give dig mulighed for at ændre det til dine behov. Denne vejledning bruger python og lavt niveau socket programmering til at oprette en server, så klienter kan kommunikere med hinanden. Dette vil også kun dække processen på vinduer. Nogle oplysninger vil blive givet i instruktionerne, men hvis du bare vil have koden, findes den i figurerne. (Bemærk: instruktionerne her er kun det grundlæggende).

Trin

Metode 1 af 3: Installation af Python

Skriv en server med Python Trin 1
Skriv en server med Python Trin 1

Trin 1. Download Python

Gå til pythons hovedwebsted, og download Python 2.7.10. Efter downloadet køres trinene i python -installationsprogrammet med standardindstillinger. Dette link findes her

Skriv en server med Python Trin 2
Skriv en server med Python Trin 2

Trin 2. Kør IDLE (Python GUI)

Gå ind i mappen Python 2.7, og kør IDLE (Python GUI), python skal nu være i din startmenu, hvor IDLE er placeret.

Skriv en server med Python Trin 3
Skriv en server med Python Trin 3

Trin 3. Opret en ny fil

Gå til Fil i øverste venstre hjørne af det nyåbnede vindue, og vælg Ny fil, du skal have et tomt vindue åbent med titlen Untitled.

Metode 2 af 3: Oprettelse af serveren

Skriv en server med Python Trin 4
Skriv en server med Python Trin 4

Trin 1. Importer nødvendige moduler

De to moduler, der er nødvendige for denne kode, er "socket" og "threading". Dette kan gøres ved at skrive på den første linje "fra socket import *" og på den næste linje "import threading".

Skriv en server med Python Trin 5
Skriv en server med Python Trin 5

Trin 2. Opret en ny tråd

Dette vil håndtere at matche 2 klienter op med hinanden. Tråde er processer, der kan køre, mens hovedprogrammet kører. Skriv præcis som figuren viser. Dette vil konfigurere variablerne i tråden, så de kan kaldes senere.

Skriv en server med Python Trin 6
Skriv en server med Python Trin 6

Trin 3. Opret trådproces

For at klienter kan kommunikere direkte, skal du sende til hinandens oplysninger, som inkluderer deres IP -adresse og hvilken port de bruger. For at gøre dette skal du oprette et socketobjekt, der kan udføres med "variableName = socket (AF_NET, SOCK_DGRAM)". Dette vil oprette et socketobjekt, der bruger UDP -protokollen. Næste Bind stikket til din IP -adresse med et bestemt portnummer med "roomSocket.bind (('', self.port))" Det tomme område står for din egen pc -IP -adresse i dit lokalnetværk og self.port tildeler portnummer, der er inkluderet, når du kalder denne tråd. Den sidste ting du skal gøre med denne stikkontakt er at sende oplysninger igennem den. Da dette er et UDP -stik, skal du simpelthen kende IP'en og porten på den computer, du sender oplysninger til, syntaksen til afsendelse er "socketName.sendto (IP, port)"

Skriv en server med Python Trin 7
Skriv en server med Python Trin 7

Trin 4. Opret de globale variabler

Til dette trin skal du definere flere variabler, som inkluderer en brugerliste, portnumre, klientantal, klienter til tråden og rum -id. Du skal også oprette en socket, så din server kan interagere med internettet. Dette gøres ved at oprette et nyt socketobjekt og binde det til din IP -adresse med et bestemt portnummer. (Portnummeret kan være alt, men det er normalt noget højt for at undgå at have enten en anden proces, der bruger det eller bruge reserverede portnumre.)

Skriv en server med Python Trin 8
Skriv en server med Python Trin 8

Trin 5. Opret hovedserverprocessen

Dette vil indtage klientadresse samt starte tråden, der blev oprettet tidligere. Dette inkluderer at vente på at modtage data fra bufferen og få klientadressen og gemme den til at blive brugt i tråden. Måden at hente oplysninger fra din stikkontakt på er at ringe efter "socketName.recvfrom (1024)", tallet her er bare mængden af bytes, der bliver læst ad gangen. I dette eksempel lagrer vi det i en variabel kaldet userAddr, og når dette sker, kan du gemme denne adresse på listen, der blev oprettet i trin 4. If -sætningen vil oprette en rumtråd, hvis to personer forbinder og vil kun oprette et værelse når to forskellige forbindelser sker.

Skriv en server med Python Trin 9
Skriv en server med Python Trin 9

Trin 6. Gem dit arbejde

Dette bør gøres i et bibliotek, der er let at komme til, så det let kan nås til test.

Metode 3 af 3: Test

Skriv en server med Python Trin 10
Skriv en server med Python Trin 10

Trin 1. Opret en testklient

Dette er en meget grundlæggende klient, der kun håndterer, om serveren havde sendt den anden klients oplysninger til den aktuelle klient. Bemærk, at i modsætning til serverkoden kræver denne kode et servernavn. Hvis du kører alt dette på en computer, skal servernavnet være navnet på din pc. Du kan finde dit computers navn ved at højreklikke på Denne computer og gå til egenskaber.

Skriv en server med Python Trin 11
Skriv en server med Python Trin 11

Trin 2. Gem dit arbejde

Dette skal være i samme bibliotek som serverkoden.

Skriv en server med Python Trin 12
Skriv en server med Python Trin 12

Trin 3. Åbn tre forskellige kommandovinduer

Gå til startmenuen, og indtast "cmd" i søgelinjen, og tryk på enter. Gør dette tre gange. Vinduerne skal se sådan ud.

Skriv en server med Python Trin 13
Skriv en server med Python Trin 13

Trin 4. Kør programmerne

Du bliver nødt til at skrive den nøjagtige sti, når du bruger kommandovinduet. Du skal først køre serverkoden i et kommandovindue og derefter testklientkoden på de to andre. Hvis alt var vellykket, får du noget af disse meddelelser i dit vindue.

Advarsler

  • Dette program fungerer kun, når det køres og testes klienter på det samme lokalnetværk.
  • Python 2.7.10 er forældet og nærmer sig slutningen på sin support. For at fortsætte med at lave gode servere anbefales det, at den nyeste version af Python 3 installeres i stedet.

Anbefalede: