3 τρόποι για να γράψετε διακομιστή με Python

Πίνακας περιεχομένων:

3 τρόποι για να γράψετε διακομιστή με Python
3 τρόποι για να γράψετε διακομιστή με Python

Βίντεο: 3 τρόποι για να γράψετε διακομιστή με Python

Βίντεο: 3 τρόποι για να γράψετε διακομιστή με Python
Βίντεο: (Outlook) Κανόνες αυτόματης αρχειοθέτησης των εισερχόμενων email 2024, Απρίλιος
Anonim

Η δημιουργία ενός διακομιστή από την αρχή είναι μια μεγάλη εργασία. Ωστόσο, αυτό μπορεί να βελτιώσει σημαντικά τις δεξιότητές σας προγραμματισμού και να σας επιτρέψει να τις τροποποιήσετε ανάλογα με τις ανάγκες σας. Αυτό το σεμινάριο θα χρησιμοποιεί python και χαμηλού επιπέδου προγραμματισμό πρίζας για τη δημιουργία διακομιστή, ώστε οι πελάτες να μπορούν να επικοινωνούν μεταξύ τους. Αυτό θα καλύψει επίσης τη διαδικασία μόνο στα παράθυρα. Κάποιες πληροφορίες θα δοθούν στις οδηγίες, αλλά αν θέλετε απλώς τον κωδικό, παρέχεται στα σχήματα. (Σημείωση: οι οδηγίες που παρουσιάζονται εδώ είναι μόνο τα βασικά).

Βήματα

Μέθοδος 1 από 3: Εγκατάσταση Python

Γράψτε έναν διακομιστή με Python Βήμα 1
Γράψτε έναν διακομιστή με Python Βήμα 1

Βήμα 1. Λήψη Python

Μεταβείτε στον κύριο ιστότοπο της python και κάντε λήψη του Python 2.7.10. Μετά τη λήψη, εκτελέστε τα βήματα του προγράμματος εγκατάστασης python με προεπιλεγμένες ρυθμίσεις. Αυτός ο σύνδεσμος παρέχεται εδώ

Γράψτε έναν διακομιστή με Python Βήμα 2
Γράψτε έναν διακομιστή με Python Βήμα 2

Βήμα 2. Εκτελέστε το IDLE (Python GUI)

Μεταβείτε στο φάκελο Python 2.7 και εκτελέστε το IDLE (Python GUI), το python θα πρέπει τώρα να βρίσκεται στο μενού έναρξης όπου βρίσκεται το IDLE.

Γράψτε έναν διακομιστή με Python Βήμα 3
Γράψτε έναν διακομιστή με Python Βήμα 3

Βήμα 3. Δημιουργήστε ένα νέο αρχείο

Μεταβείτε στο Αρχείο στην επάνω αριστερή γωνία του παραθύρου που μόλις ανοίξατε και επιλέξτε Νέο αρχείο, θα πρέπει να έχετε ένα κενό παράθυρο ανοιχτό με τον τίτλο Χωρίς τίτλο.

Μέθοδος 2 από 3: Δημιουργία διακομιστή

Γράψτε έναν διακομιστή με Python Βήμα 4
Γράψτε έναν διακομιστή με Python Βήμα 4

Βήμα 1. Εισαγάγετε τις απαραίτητες ενότητες

Οι δύο ενότητες που απαιτούνται για αυτόν τον κώδικα είναι "υποδοχή" και "σπείρωμα". Αυτό μπορεί να γίνει πληκτρολογώντας στην πρώτη γραμμή "από εισαγωγή πρίζας *" και στην επόμενη γραμμή "εισαγωγή νήματος".

Γράψτε έναν διακομιστή με Python Βήμα 5
Γράψτε έναν διακομιστή με Python Βήμα 5

Βήμα 2. Δημιουργήστε ένα νέο νήμα

Αυτό θα χειριστεί την αντιστοίχιση 2 πελατών μεταξύ τους. Τα νήματα είναι διαδικασίες που μπορούν να εκτελούνται ενώ εκτελείται το κύριο πρόγραμμα. Πληκτρολογήστε ακριβώς όπως δείχνει το σχήμα. Αυτό θα ρυθμίσει τις μεταβλητές στο νήμα έτσι ώστε να μπορούν να κληθούν αργότερα.

Γράψτε έναν διακομιστή με Python Βήμα 6
Γράψτε έναν διακομιστή με Python Βήμα 6

Βήμα 3. Δημιουργία διαδικασίας νήματος

Για να επικοινωνούν απευθείας οι πελάτες, πρέπει να στείλετε ο ένας στον άλλον πληροφορίες, οι οποίες περιλαμβάνουν τη διεύθυνση IP τους και ποια θύρα χρησιμοποιούν. Για να γίνει αυτό, πρέπει να δημιουργήσετε ένα αντικείμενο υποδοχής που μπορεί να γίνει με "variableName = socket (AF_NET, SOCK_DGRAM)". Αυτό θα δημιουργήσει ένα αντικείμενο υποδοχής που χρησιμοποιεί το πρωτόκολλο UDP. Επόμενο Συνδέστε την πρίζα στη διεύθυνση IP σας με έναν συγκεκριμένο αριθμό θύρας με "roomSocket.bind (('", self.port)) "Η κενή περιοχή αντιπροσωπεύει τη δική σας διεύθυνση IP του υπολογιστή σας στο τοπικό σας δίκτυο και το self.port εκχωρεί αριθμός θύρας που περιλαμβάνεται όταν καλείτε αυτό το νήμα. Το τελευταίο πράγμα που έχετε να κάνετε με αυτήν την πρίζα είναι να στείλετε πληροφορίες μέσω αυτής. Δεδομένου ότι πρόκειται για υποδοχή UDP, πρέπει απλώς να γνωρίζετε τη διεύθυνση IP και τη θύρα του υπολογιστή στον οποίο στέλνετε πληροφορίες, η σύνταξη για αποστολή είναι "socketName.sendto (IP, port)"

Γράψτε έναν διακομιστή με Python Βήμα 7
Γράψτε έναν διακομιστή με Python Βήμα 7

Βήμα 4. Δημιουργήστε τις καθολικές μεταβλητές

Για αυτό το βήμα θα χρειαστεί να ορίσετε πολλές μεταβλητές, η οποία περιλαμβάνει μια λίστα χρηστών, αριθμούς θυρών, αριθμό πελατών, πελάτες για το νήμα και το αναγνωριστικό δωματίου. Θα χρειαστεί επίσης να δημιουργήσετε μια πρίζα, έτσι ώστε ο διακομιστής σας να μπορεί να αλληλεπιδρά με το διαδίκτυο. Αυτό γίνεται δημιουργώντας ένα νέο αντικείμενο υποδοχής και συνδέοντάς το στη διεύθυνση IP σας με έναν συγκεκριμένο αριθμό θύρας. (Ο αριθμός θύρας μπορεί να είναι οτιδήποτε, αλλά συνήθως είναι κάτι υψηλό για να αποφύγετε τη χρήση άλλης διαδικασίας ή τη χρήση δεσμευμένων αριθμών θύρας.)

Γράψτε έναν διακομιστή με Python Βήμα 8
Γράψτε έναν διακομιστή με Python Βήμα 8

Βήμα 5. Δημιουργήστε την κύρια διαδικασία διακομιστή

Αυτό θα λάβει τη διεύθυνση πελάτη καθώς και θα ξεκινήσει το νήμα που δημιουργήθηκε νωρίτερα. Αυτό περιλαμβάνει την αναμονή για τη λήψη δεδομένων από το buffer και τη λήψη της διεύθυνσης του πελάτη και την αποθήκευσή τους για χρήση στο νήμα. Ο τρόπος για να λάβετε πληροφορίες από την πρίζα σας είναι να καλέσετε με το "socketName.recvfrom (1024)", ο αριθμός εδώ είναι μόνο το ποσό των byte που διαβάζονται κάθε φορά. Σε αυτό το παράδειγμα, το αποθηκεύουμε σε μια μεταβλητή που ονομάζεται userAddr και μόλις συμβεί αυτό, μπορείτε να αποθηκεύσετε αυτήν τη διεύθυνση στη λίστα που δημιουργήθηκε στο βήμα 4. Η δήλωση if θα δημιουργήσει ένα νήμα δωματίου εάν συνδεθούν δύο άτομα και θα δημιουργήσει μόνο ένα δωμάτιο όταν συμβαίνουν δύο διαφορετικές συνδέσεις.

Γράψτε έναν διακομιστή με Python Βήμα 9
Γράψτε έναν διακομιστή με Python Βήμα 9

Βήμα 6. Αποθηκεύστε την εργασία σας

Αυτό πρέπει να γίνει σε έναν κατάλογο στον οποίο μπορείτε να φτάσετε εύκολα, ώστε να είναι εύκολα προσβάσιμος για έλεγχο.

Μέθοδος 3 από 3: Δοκιμή

Γράψτε έναν διακομιστή με Python Βήμα 10
Γράψτε έναν διακομιστή με Python Βήμα 10

Βήμα 1. Δημιουργήστε έναν πελάτη δοκιμής

Αυτός είναι ένας πολύ βασικός πελάτης που θα χειρίζεται μόνο αν ο διακομιστής είχε στείλει ή όχι τις πληροφορίες του άλλου πελάτη στον τρέχοντα πελάτη. Λάβετε υπόψη ότι σε αντίθεση με τον κωδικό διακομιστή, αυτός ο κωδικός απαιτεί όνομα διακομιστή. Εάν εκτελείτε όλα αυτά σε έναν υπολογιστή, το όνομα διακομιστή πρέπει να είναι το όνομα του υπολογιστή σας. Μπορείτε να μάθετε το όνομα του υπολογιστή σας κάνοντας δεξί κλικ στο My Computer και μεταβαίνοντας στις ιδιότητες.

Γράψτε έναν διακομιστή με Python Βήμα 11
Γράψτε έναν διακομιστή με Python Βήμα 11

Βήμα 2. Αποθηκεύστε την εργασία σας

Θα πρέπει να βρίσκεται στον ίδιο κατάλογο με τον κωδικό διακομιστή.

Γράψτε έναν διακομιστή με Python Βήμα 12
Γράψτε έναν διακομιστή με Python Βήμα 12

Βήμα 3. Ανοίξτε τρία διαφορετικά παράθυρα εντολών

Μεταβείτε στο μενού έναρξης και στη γραμμή αναζήτησης πληκτρολογήστε "cmd" και πατήστε enter. Κάντε αυτό τρεις φορές. Τα παράθυρα πρέπει να μοιάζουν με αυτό.

Γράψτε έναν διακομιστή με Python Βήμα 13
Γράψτε έναν διακομιστή με Python Βήμα 13

Βήμα 4. Εκτελέστε τα προγράμματα

Θα πρέπει να πληκτρολογήσετε την ακριβή διαδρομή όταν χρησιμοποιείτε το παράθυρο εντολών. Θα χρειαστεί να εκτελέσετε τον κωδικό διακομιστή πρώτα σε ένα παράθυρο εντολών και στη συνέχεια τον δοκιμαστικό κωδικό πελάτη στα άλλα δύο. Εάν όλα ήταν επιτυχημένα, θα λάβετε κάτι από αυτά τα μηνύματα στο παράθυρό σας.

Προειδοποιήσεις

  • Αυτό το πρόγραμμα θα λειτουργεί μόνο όταν το εκτελείτε και θα δοκιμάζετε πελάτες στο ίδιο τοπικό δίκτυο.
  • Το Python 2.7.10 είναι ξεπερασμένο και πλησιάζει στο τέλος της υποστήριξής του. Για να συνεχίσετε να δημιουργείτε καλούς διακομιστές, συνιστάται να εγκαταστήσετε την τελευταία έκδοση του Python 3.

Συνιστάται: