3 sätt att skriva en server med Python

Innehållsförteckning:

3 sätt att skriva en server med Python
3 sätt att skriva en server med Python

Video: 3 sätt att skriva en server med Python

Video: 3 sätt att skriva en server med Python
Video: Use Outlook Archive to FREE SPACE & CLEAN UP Your Mailbox 2024, April
Anonim

Att skapa en server från grunden är en stor uppgift. Men att göra det kan förbättra dina programmeringskunskaper mycket och kan göra det möjligt för dig att ändra det efter dina behov. Denna handledning kommer att använda python och lågnivå -sockelprogrammering för att skapa en server så att klienter kan kommunicera med varandra. Detta täcker också bara processen på Windows. Viss information kommer att ges i instruktionerna, men om du bara vill ha koden finns den i figurerna. (Obs! Instruktionerna som presenteras här är bara grunderna).

Steg

Metod 1 av 3: Installera Python

Skriv en server med Python Steg 1
Skriv en server med Python Steg 1

Steg 1. Ladda ner Python

Gå till pythons huvudsida och ladda ner Python 2.7.10. Efter nedladdningen går du igenom stegen i python -installationsprogrammet med standardinställningar. Denna länk finns här

Skriv en server med Python Steg 2
Skriv en server med Python Steg 2

Steg 2. Kör IDLE (Python GUI)

Gå in i Python 2.7 -mappen och kör IDLE (Python GUI), python ska nu vara i din startmeny där IDLE finns.

Skriv en server med Python Steg 3
Skriv en server med Python Steg 3

Steg 3. Skapa en ny fil

Gå till Arkiv i det övre vänstra hörnet av det nyöppnade fönstret och välj Ny fil, du bör ha ett tomt fönster öppet med titeln Untitled.

Metod 2 av 3: Skapa servern

Skriv en server med Python Steg 4
Skriv en server med Python Steg 4

Steg 1. Importera nödvändiga moduler

De två modulerna som behövs för denna kod är "socket" och "threading". Detta kan göras genom att skriva på första raden "från socketimport *" och på nästa rad "importtrådning".

Skriv en server med Python Steg 5
Skriv en server med Python Steg 5

Steg 2. Skapa en ny tråd

Detta kommer att hantera att matcha 2 klienter med varandra. Trådar är processer som kan köras medan huvudprogrammet körs. Skriv exakt som bilden visar. Detta kommer att ställa in variablerna i tråden så att de kan kallas senare.

Skriv en server med Python Steg 6
Skriv en server med Python Steg 6

Steg 3. Skapa trådprocess

För att kunder ska kunna kommunicera direkt måste du skicka till varandras information, inklusive deras IP -adress och vilken port de använder. För att göra detta måste du skapa ett socketobjekt som kan göras med "variableName = socket (AF_NET, SOCK_DGRAM)". Detta skapar ett socketobjekt som använder UDP -protokollet. Nästa Bind uttaget till din IP -adress med ett visst portnummer med "roomSocket.bind (('', self.port))" Det tomma området står för din egen datorns IP -adress i ditt lokala nätverk och self.port tilldelar portnummer som ingår när du ringer den här tråden. Det sista du behöver göra med det här uttaget är att skicka information genom det. Eftersom detta är ett UDP -uttag måste du helt enkelt känna till IP: n och porten på datorn du skickar information till, syntaxen för att skicka är "socketName.sendto (IP, port)"

Skriv en server med Python Steg 7
Skriv en server med Python Steg 7

Steg 4. Skapa de globala variablerna

För detta steg måste du definiera flera variabler, som inkluderar en användarlista, portnummer, klientantal, klienter för tråden och rums -ID. Du måste också skapa ett uttag så att din server kan interagera med internet. Detta görs genom att skapa ett nytt socketobjekt och binda det till din IP -adress med ett visst portnummer. (Portnumret kan vara vad som helst men det är vanligtvis något högt för att undvika att antingen använda en annan process eller använda reserverade portnummer.)

Skriv en server med Python Steg 8
Skriv en server med Python Steg 8

Steg 5. Skapa huvudserverprocessen

Detta kommer att ta in klientadress och starta tråden som skapades tidigare. Detta inkluderar att vänta på att ta emot data från bufferten och få klientadressen och spara den för att användas i tråden. Sättet att få information från ditt uttag är att ringa med "socketName.recvfrom (1024)", antalet här är bara mängden byte som läses åt gången. I det här exemplet lagrar vi det i en variabel som heter userAddr, och när detta händer kan du spara den här adressen i listan som skapades i steg 4. If -satsen skapar en rumstråd om två personer ansluter och skapar bara ett rum när två olika kopplingar inträffar.

Skriv en server med Python Steg 9
Skriv en server med Python Steg 9

Steg 6. Spara ditt arbete

Detta bör göras i en katalog som är lätt att komma åt så att den lätt kan nås för testning.

Metod 3 av 3: Testning

Skriv en server med Python Steg 10
Skriv en server med Python Steg 10

Steg 1. Skapa en testklient

Detta är en mycket grundläggande klient som bara hanterar om servern hade skickat den andra klientens information till den aktuella klienten eller inte. Observera att denna kod till skillnad från serverkoden kräver ett servernamn. Om du kör allt detta på en dator bör servernamnet vara namnet på din dator. Du kan ta reda på datorns namn genom att högerklicka på Den här datorn och gå till egenskaper.

Skriv en server med Python Steg 11
Skriv en server med Python Steg 11

Steg 2. Spara ditt arbete

Detta bör finnas i samma katalog som serverkoden.

Skriv en server med Python Steg 12
Skriv en server med Python Steg 12

Steg 3. Öppna tre olika kommandofönster

Gå till startmenyn och skriv "cmd" i sökfältet och tryck på enter. Gör detta tre gånger. Fönstren ska se ut så här.

Skriv en server med Python Steg 13
Skriv en server med Python Steg 13

Steg 4. Kör programmen

Du måste skriva in den exakta sökvägen när du använder kommandofönstret. Du måste köra serverkoden först i ett kommandofönster och sedan testklientkoden på de andra två. Om allt lyckades får du något av dessa meddelanden i ditt fönster.

Varningar

  • Detta program fungerar bara när det körs och testas klienter på samma lokala nätverk.
  • Python 2.7.10 är föråldrat och närmar sig slutet på sitt stöd. För att fortsätta skapa bra servrar rekommenderas att den senaste versionen av Python 3 installeras istället.

Rekommenderad: