3 manieren om een server te schrijven met Python

Inhoudsopgave:

3 manieren om een server te schrijven met Python
3 manieren om een server te schrijven met Python

Video: 3 manieren om een server te schrijven met Python

Video: 3 manieren om een server te schrijven met Python
Video: E-mails archiveren met Outlook | 5 manieren; wat is de handigste? 🤔👍 2024, April
Anonim

Het creëren van een server vanaf het begin is een grote taak. Dit kan echter uw programmeervaardigheden aanzienlijk verbeteren en u in staat stellen deze aan uw behoeften aan te passen. Deze tutorial gebruikt python en low-level socket-programmering om een server te maken zodat clients met elkaar kunnen communiceren. Dit dekt ook alleen het proces op Windows. Sommige informatie wordt gegeven in de instructies, maar als u alleen de code wilt, staat deze in de figuren. (Opmerking: de hier gepresenteerde instructies zijn slechts de basis).

Stappen

Methode 1 van 3: Python installeren

Schrijf een server met Python Stap 1
Schrijf een server met Python Stap 1

Stap 1. Download Python

Ga naar de hoofdwebsite van Python en download Python 2.7.10. Nadat het is gedownload, doorloopt u de stappen van het python-installatieprogramma met standaardinstellingen. Deze link vindt u hier

Schrijf een server met Python Stap 2
Schrijf een server met Python Stap 2

Stap 2. Voer IDLE uit (Python GUI)

Ga naar de map Python 2.7 en voer IDLE (Python GUI) uit, python zou nu in je startmenu moeten staan waar de IDLE zich bevindt.

Schrijf een server met Python Stap 3
Schrijf een server met Python Stap 3

Stap 3. Maak een nieuw bestand aan

Ga naar Bestand in de linkerbovenhoek van het nieuw geopende venster en selecteer Nieuw bestand, je zou een leeg venster moeten openen met de titel Naamloos.

Methode 2 van 3: De server maken

Schrijf een server met Python Stap 4
Schrijf een server met Python Stap 4

Stap 1. Importeer de benodigde modules

De twee modules die nodig zijn voor deze code zijn "socket" en "threading". Dit kan door op de eerste regel “from socket import *” en op de volgende regel “import threading” te typen.

Schrijf een server met Python Stap 5
Schrijf een server met Python Stap 5

Stap 2. Maak een nieuwe thread aan

Dit zorgt voor het matchen van 2 klanten met elkaar. Threads zijn processen die kunnen worden uitgevoerd terwijl het hoofdprogramma wordt uitgevoerd. Typ precies zoals de afbeelding laat zien. Hiermee worden de variabelen in de thread ingesteld, zodat ze later kunnen worden aangeroepen.

Schrijf een server met Python Stap 6
Schrijf een server met Python Stap 6

Stap 3. Maak een threadproces aan

Om klanten rechtstreeks te laten communiceren, moet u elkaars informatie verzenden, waaronder hun IP-adres en welke poort ze gebruiken. Om dit te doen, moet u een socket-object maken dat kan worden gedaan met "variableName = socket(AF_NET, SOCK_DGRAM)". Hiermee wordt een socketobject gemaakt dat het UDP-protocol gebruikt. Bind vervolgens de socket aan uw IP-adres met een bepaald poortnummer met "roomSocket.bind((' ', self.port))". Het lege gebied staat voor uw eigen pc-IP-adres binnen uw lokale netwerk en self.port wijst de poortnummer dat is opgenomen wanneer u deze thread belt. Het laatste dat u met deze socket hoeft te doen, is er informatie doorheen sturen. Aangezien dit een UDP-socket is, moet u gewoon het IP-adres en de poort weten van de computer waarnaar u informatie verzendt, de syntaxis voor het verzenden is "socketName.sendto(IP, port)"

Schrijf een server met Python Stap 7
Schrijf een server met Python Stap 7

Stap 4. Maak de globale variabelen

Voor deze stap moet u verschillende variabelen definiëren, waaronder een gebruikerslijst, poortnummers, aantal klanten, klanten voor de thread en de kamer-ID. U moet ook een socket maken zodat uw server kan communiceren met internet. Dit doe je door een nieuw socket-object aan te maken en dit met een bepaald poortnummer aan je IP-adres te binden. (Het poortnummer kan van alles zijn, maar het is meestal iets hoogs om te voorkomen dat een ander proces het gebruikt of gereserveerde poortnummers gebruikt.)

Schrijf een server met Python Stap 8
Schrijf een server met Python Stap 8

Stap 5. Maak het hoofdserverproces

Hiermee wordt het klantadres ingevoerd en wordt de eerder gemaakte thread gestart. Dit omvat het wachten om gegevens uit de buffer te ontvangen en het clientadres op te halen en op te slaan om in de thread te worden gebruikt. De manier om informatie uit uw socket te halen, is door "socketName.recvfrom (1024)" aan te roepen, het aantal hier is slechts het aantal bytes dat per keer wordt gelezen. In dit voorbeeld slaan we het op in een variabele met de naam userAddr, en zodra dit gebeurt, kun je dit adres opslaan in de lijst die in stap 4 is gemaakt. Het if-statement zal een kamerthread maken als twee mensen verbinding maken en zal alleen een kamer maken wanneer er twee verschillende verbindingen plaatsvinden.

Schrijf een server met Python Stap 9
Schrijf een server met Python Stap 9

Stap 6. Sla je werk op

Dit moet worden gedaan in een map die gemakkelijk te bereiken is, zodat deze gemakkelijk toegankelijk is om te testen.

Methode 3 van 3: Testen

Schrijf een server met Python Stap 10
Schrijf een server met Python Stap 10

Stap 1. Maak een testclient aan

Dit is een zeer eenvoudige client die alleen afhandelt of de server de informatie van de andere client naar de huidige client heeft verzonden. Houd er rekening mee dat deze code, in tegenstelling tot de servercode, een servernaam vereist. Als u dit allemaal op één computer uitvoert, moet de servernaam de naam van uw pc zijn. U kunt uw computernaam achterhalen door met de rechtermuisknop op Deze computer te klikken en naar eigenschappen te gaan.

Schrijf een server met Python Stap 11
Schrijf een server met Python Stap 11

Stap 2. Sla je werk op

Dit moet in dezelfde map staan als de servercode.

Schrijf een server met Python Stap 12
Schrijf een server met Python Stap 12

Stap 3. Open drie verschillende opdrachtvensters

Ga naar het startmenu en typ in de zoekbalk "cmd" en druk op enter. Doe dit drie keer. De ramen zouden er zo uit moeten zien.

Schrijf een server met Python Stap 13
Schrijf een server met Python Stap 13

Stap 4. Voer de programma's uit

U moet het exacte pad typen wanneer u het opdrachtvenster gebruikt. U moet eerst de servercode in het ene opdrachtvenster uitvoeren en vervolgens de testclientcode in de andere twee. Als alles gelukt is krijg je iets van deze berichten in je venster.

Waarschuwingen

  • Dit programma werkt alleen als het wordt uitgevoerd en clients worden getest op hetzelfde lokale netwerk.
  • Python 2.7.10 is verouderd en nadert het einde van zijn ondersteuning. Om goede servers te blijven maken, is het aan te raden om in plaats daarvan de nieuwste versie van Python 3 te installeren.

Aanbevolen: