3 manières d'écrire un serveur avec Python

Table des matières:

3 manières d'écrire un serveur avec Python
3 manières d'écrire un serveur avec Python

Vidéo: 3 manières d'écrire un serveur avec Python

Vidéo: 3 manières d'écrire un serveur avec Python
Vidéo: Comment archiver ses emails avec Outlook 2007 ? 2024, Avril
Anonim

Créer un serveur à partir de zéro est une tâche énorme. Cependant, cela peut grandement améliorer vos compétences en programmation et vous permettre de le modifier selon vos besoins. Ce tutoriel utilisera python et une programmation de socket de bas niveau pour créer un serveur afin que les clients puissent communiquer entre eux. Cela ne couvrira également que le processus sur Windows. Quelques infos seront données dans les instructions, mais si vous voulez juste le code, il est fourni dans les figures. (Remarque: les instructions présentées ici ne sont que les bases).

Pas

Méthode 1 sur 3: Installation de Python

Écrire un serveur avec Python Étape 1
Écrire un serveur avec Python Étape 1

Étape 1. Téléchargez Python

Accédez au site Web principal de python et téléchargez Python 2.7.10. Après le téléchargement, suivez les étapes du programme d'installation de python avec les paramètres par défaut. Ce lien est fourni ici

Écrire un serveur avec Python Étape 2
Écrire un serveur avec Python Étape 2

Étape 2. Exécutez IDLE (Python GUI)

Allez dans le dossier Python 2.7 et exécutez IDLE (Python GUI), python devrait maintenant être dans votre menu Démarrer où se trouve IDLE.

Écrire un serveur avec Python Étape 3
Écrire un serveur avec Python Étape 3

Étape 3. Créez un nouveau fichier

Allez dans Fichier dans le coin supérieur gauche de la fenêtre nouvellement ouverte et sélectionnez Nouveau fichier, vous devriez avoir une fenêtre vide ouverte avec le titre Sans titre.

Méthode 2 sur 3: Création du serveur

Écrire un serveur avec Python Étape 4
Écrire un serveur avec Python Étape 4

Étape 1. Importez les modules nécessaires

Les deux modules nécessaires à ce code sont « socket » et « threading ». Cela peut être fait en tapant sur la première ligne « from socket import * » et sur la ligne suivante « import threading ».

Écrire un serveur avec Python Étape 5
Écrire un serveur avec Python Étape 5

Étape 2. Créez un nouveau fil

Cela gérera la mise en correspondance de 2 clients. Les threads sont des processus qui peuvent être exécutés pendant l'exécution du programme principal. Tapez exactement comme le montre la figure. Cela configurera les variables dans le thread afin qu'elles puissent être appelées plus tard.

Écrire un serveur avec Python Étape 6
Écrire un serveur avec Python Étape 6

Étape 3. Créez un processus de thread

Pour que les clients communiquent directement, vous devez vous envoyer mutuellement des informations, notamment leur adresse IP et le port qu'ils utilisent. Pour ce faire, vous devez créer un objet socket qui peut être fait avec "variableName = socket(AF_NET, SOCK_DGRAM)". Cela créera un objet socket qui utilise le protocole UDP. Suivant Liez le socket à votre adresse IP avec un certain numéro de port avec "roomSocket.bind((' ', self.port))" La zone vide représente votre propre adresse IP de PC au sein de votre réseau local et self.port attribue le numéro de port qui est inclus lorsque vous appelez ce thread. La dernière chose que vous avez à faire avec cette socket est d'envoyer des informations à travers elle. Puisqu'il s'agit d'un socket UDP, vous devez simplement connaître l'adresse IP et le port de l'ordinateur auquel vous envoyez des informations, la syntaxe pour l'envoi est "socketName.sendto(IP, port)"

Écrire un serveur avec Python Étape 7
Écrire un serveur avec Python Étape 7

Étape 4. Créez les variables globales

Pour cette étape, vous devrez définir plusieurs variables, notamment une liste d'utilisateurs, des numéros de port, un nombre de clients, des clients pour le thread et l'ID de la salle. Vous devrez également créer un socket pour que votre serveur puisse interagir avec Internet. Cela se fait en créant un nouvel objet socket et en le liant à votre adresse IP avec un certain numéro de port. (Le numéro de port peut être n'importe quoi, mais il s'agit généralement d'une valeur élevée pour éviter qu'un autre processus l'utilise ou utilise des numéros de port réservés.)

Écrire un serveur avec Python Étape 8
Écrire un serveur avec Python Étape 8

Étape 5. Créez le processus de serveur principal

Cela prendra en compte l'adresse du client et démarrera le fil créé précédemment. Cela inclut d'attendre de recevoir des données du tampon, d'obtenir l'adresse du client et de l'enregistrer pour qu'elle soit utilisée dans le thread. La façon d'obtenir des informations de votre socket est d'appeler par "socketName.recvfrom(1024)", le nombre ici est juste le nombre d'octets qui sont lus à la fois. Dans cet exemple, nous la stockons dans une variable appelée userAddr, et une fois que cela se produit, vous pouvez enregistrer cette adresse dans la liste créée à l'étape 4. L'instruction if créera un fil de discussion si deux personnes se connectent et ne créera qu'une salle lorsque deux connexions différentes se produisent.

Écrire un serveur avec Python Étape 9
Écrire un serveur avec Python Étape 9

Étape 6. Enregistrez votre travail

Cela doit être fait dans un répertoire facile d'accès afin qu'il soit facilement accessible pour les tests.

Méthode 3 sur 3: Tests

Écrire un serveur avec Python Étape 10
Écrire un serveur avec Python Étape 10

Étape 1. Créez un client de test

Il s'agit d'un client très basique qui ne gérera que si le serveur a envoyé ou non les informations de l'autre client au client actuel. Veuillez noter que contrairement au code serveur, ce code nécessite un nom de serveur. Si vous exécutez tout cela sur un seul ordinateur, le nom du serveur doit être le nom de votre PC. Vous pouvez trouver le nom de votre ordinateur en faisant un clic droit sur Poste de travail et en allant dans les propriétés.

Écrire un serveur avec Python Étape 11
Écrire un serveur avec Python Étape 11

Étape 2. Enregistrez votre travail

Cela devrait être dans le même répertoire que le code du serveur.

Écrire un serveur avec Python Étape 12
Écrire un serveur avec Python Étape 12

Étape 3. Ouvrez trois fenêtres de commande différentes

Allez dans le menu Démarrer et dans la barre de recherche, tapez "cmd" et appuyez sur Entrée. Faites cela trois fois. Les fenêtres devraient ressembler à ceci.

Écrire un serveur avec Python Étape 13
Écrire un serveur avec Python Étape 13

Étape 4. Exécutez les programmes

Vous devrez taper le chemin exact lors de l'utilisation de la fenêtre de commande. Vous devrez d'abord exécuter le code serveur sur une fenêtre de commande, puis le code client de test sur les deux autres. Si tout a réussi, vous obtiendrez quelque chose de ces messages dans votre fenêtre.

Mises en garde

  • Ce programme ne fonctionnera qu'en l'exécutant et en testant les clients sur le même réseau local.
  • Python 2.7.10 est obsolète et approche de la fin de son support. Pour continuer à créer de bons serveurs, il est recommandé d'installer la dernière version de Python 3 à la place.

Conseillé: