Inhoudsopgave
In de verschillende modules die er zijn Python voor netwerkprogrammering zijn er ook componenten die niet standaard worden meegeleverd en die we moeten downloaden en installeren, dit is niet nodig voor ons om programma's te maken, maar soms hebben deze componenten van derden veel functionaliteiten die we kunnen gebruiken die ons leven gemakkelijker maken, waardoor we ons alleen op de logica van ons programma hoeven te concentreren.Binnen deze componenten hebben we: Verdraaid van het bedrijf Twisted Matrix Laboratories, dit onderdeel is een evenementgericht netwerkprogrammeerraamwerk voor: Python, is oorspronkelijk ontwikkeld voor videogames, maar wordt momenteel veel gebruikt voor alle soorten netwerkprogramma's.
Twisted downloaden en installeren
Installeer Twisted Het is heel eenvoudig, eerst moeten we de versie van de bibliotheek downloaden die we nodig hebben, afhankelijk van ons systeem, hiervoor kunnen we naar het web gaan met de volgende link: http: // twistedmatrix. com, eenmaal daar kunnen we zoeken naar de meest geschikte versie, zoals we kunnen zien in de volgende afbeelding:
VERGROTEN
Als we een meer specifieke versie nodig hebben, kunnen we naar de gedetailleerde downloadsectie gaan door op de link te klikken DOWNLOAD in de rechterbovenhoek van de site.Zodra we de gewenste versie hebben, kunnen we deze installeren, als we die gebruiken ramen, zal het installatieprogramma ons stap voor stap door de vereisten leiden, in het geval dat het een ander systeem is, moeten we de bronnen verkrijgen en dan het volgende doen in de map waarin we de bestanden uitpakken:
python setup.py installeren
Zodra we alles hebben, kunnen we deze bibliotheek gaan gebruiken om onze programma's te bouwen.
Een basisserver maken
In het begin hadden we dat uitgelegd Verdraaid het is evenementgericht en we zullen het hier zien. Bij het maken van een server met behulp van de bibliotheken stopcontact In Python moeten we een lus declareren die verantwoordelijk is voor het verifiëren van de nieuwe verbindingen, in dit geval zullen we gebeurtenishandlers doen die elk van de situaties die zich voordoen zullen beheren.
De gebeurtenissen waar we op moeten anticiperen zijn een nieuwe verbinding, gegevensontvangst, een klant die de verbinding verbreekt, enz. Deze event-handlers zijn gedefinieerd in een protocol en dat protocol vereist een fabriek dat je de gebeurtenisobjecten kunt bouwen, klinkt dit misschien verwarrend, maar nu we de code zien, wordt alles duidelijker.
Laten we hieronder een code bekijken waarin we een basisserver schrijven met behulp van gedraaid:
van twisted.internet import reactor van twisted.internet.protocol import Protocol, Fabrieksklasse SimpleLogger (Protocol): def connectionMade (self): print 'Got connection from', self.transport.client def connectionLost (self, reason): print self .transport.client, 'losgekoppeld' def dataOntvangen (zelf, data): print data factory = Factory () factory.protocol = SimpleLogger reactor.listenTCP (1234, factory) reactor.run ()
Het eerste wat we doen is de benodigde bibliotheken en componenten importeren, in deze Reactor-, protocol- en fabrieksgeval, dan handelen we de gebeurtenissen binnen een klasse af, zoals wanneer we een nieuwe verbinding hebben, een verbroken verbinding en of we gegevens ontvangen.
We maken een instantie van Fabriek die verantwoordelijk is voor het bouwen van de nodige objecten, we specificeren dat zijn protocol de klasse zal zijn die we hebben gemaakt en tot slot met reactor zetten we ons programma om naar een poort te luisteren; Zoals we kunnen zien, is het helemaal niet ingewikkeld om het op deze manier te zien.Vond je deze tutorial leuk en hielp je hem?Je kunt de auteur belonen door op deze knop te drukken om hem een positief punt te geven