3 načina pisanja servera s Pythonom

Sadržaj:

3 načina pisanja servera s Pythonom
3 načina pisanja servera s Pythonom

Video: 3 načina pisanja servera s Pythonom

Video: 3 načina pisanja servera s Pythonom
Video: 1. Početak rada sa programom Excel 2024, Marš
Anonim

Stvaranje servera od nule veliki je zadatak. Međutim, to može uvelike poboljšati vaše vještine programiranja i omogućiti vam da ih prilagodite svojim potrebama. Ovaj vodič će koristiti python i programiranje utičnica na niskom nivou za stvaranje servera kako bi klijenti mogli međusobno komunicirati. Ovo će također pokriti samo proces na prozorima. Neke informacije bit će navedene u uputama, ali ako samo želite kôd, to je navedeno na slikama. (Napomena: upute predstavljene ovdje su samo osnove).

Koraci

Metoda 1 od 3: Instaliranje Pythona

Napišite poslužitelj s Pythonom Korak 1
Napišite poslužitelj s Pythonom Korak 1

Korak 1. Preuzmite Python

Idite na glavnu web stranicu pythona i preuzmite Python 2.7.10. Nakon preuzimanja prođite korake instalacijskog programa python sa zadanim postavkama. Ova veza se nalazi ovdje

Napišite server s Python -om Korak 2
Napišite server s Python -om Korak 2

Korak 2. Pokrenite IDLE (Python GUI)

Idite u mapu Python 2.7 i pokrenite IDLE (Python GUI), python bi sada trebao biti u vašem izborniku za početak gdje se IDLE nalazi.

Napišite server s Python -om Korak 3
Napišite server s Python -om Korak 3

Korak 3. Kreirajte novu datoteku

Idite na Datoteka u gornjem lijevom kutu novootvorenog prozora i odaberite Nova datoteka, trebao bi vam biti otvoren prazan prozor s naslovom Bez naslova.

Metoda 2 od 3: Kreiranje servera

Napišite poslužitelj s Pythonom Korak 4
Napišite poslužitelj s Pythonom Korak 4

Korak 1. Uvezite potrebne module

Dva modula potrebna za ovaj kod su „utičnica“i „navoj“. To se može učiniti upisivanjem u prvi red “from socket import *” i u sljedeći red “import threading”.

Napišite server s Python -om Korak 5
Napišite server s Python -om Korak 5

Korak 2. Kreirajte novu nit

Ovo će obraditi podudaranje 2 klijenta međusobno. Niti su procesi koji se mogu pokrenuti dok je glavni program pokrenut. Upišite točno onako kako prikazuje slika. Ovo će postaviti varijable u niti tako da se kasnije mogu pozvati.

Napišite poslužitelj s Pythonom Korak 6
Napišite poslužitelj s Pythonom Korak 6

Korak 3. Kreirajte proces niti

Da bi klijenti izravno komunicirali, morate međusobno slati podatke, uključujući njihovu IP adresu i port koji koriste. Da biste to učinili, morate stvoriti objekt utičnice koji se može izvesti sa “variableName = socket (AF_NET, SOCK_DGRAM)”. Ovo će stvoriti socket objekt koji koristi UDP protokol. Dalje Priključite utičnicu na svoju IP adresu s određenim brojem porta s “roomSocket.bind (('', self.port))”. Prazno područje označava vašu IP adresu računara u vašoj lokalnoj mreži, a self.port dodjeljuje broj porta koji je uključen kada pozovete ovu nit. Zadnje što trebate učiniti s ovom utičnicom je slanje informacija putem nje. Pošto je ovo UDP utičnica, jednostavno morate znati IP i port računara na koji šaljete informacije, sintaksa za slanje je „socketName.sendto (IP, port)“

Napišite server sa Python -om Korak 7
Napišite server sa Python -om Korak 7

Korak 4. Kreirajte globalne varijable

Za ovaj korak morate definirati nekoliko varijabli, što uključuje popis korisnika, brojeve portova, broj klijenata, klijente za nit i ID sobe. Također ćete morati stvoriti utičnicu kako bi vaš poslužitelj mogao komunicirati s internetom. To se postiže stvaranjem novog objekta utičnice i povezivanjem s vašom IP adresom s određenim brojem porta. (Broj porta može biti bilo koji, ali je obično nešto visoko kako bi se izbjeglo korištenje bilo kojeg drugog procesa ili korištenje rezerviranih brojeva portova.)

Napišite server sa Python -om Korak 8
Napišite server sa Python -om Korak 8

Korak 5. Kreirajte proces glavnog servera

Ovo će uzeti adresu klijenta, kao i pokrenuti nit kreiranu ranije. To uključuje čekanje za prijem podataka iz međuspremnika i dobivanje adrese klijenta te spremanje za upotrebu u niti. Način da dobijete informacije iz svoje utičnice je da pozovete “socketName.recvfrom (1024)”, broj ovdje je samo količina bajtova koji se čitaju odjednom. U ovom primjeru spremamo je u varijablu koja se zove userAddr, a kada se to dogodi, ovu adresu možete spremiti na popis koji je kreiran u 4. koraku. Naredba if stvorit će nit sobe ako se dvoje ljudi poveže i samo će stvoriti sobu kada se dogode dvije različite veze.

Napišite server s Python -om Korak 9
Napišite server s Python -om Korak 9

Korak 6. Sačuvajte svoj rad

To bi trebalo biti učinjeno u direktoriju do kojeg je lako doći kako bi mu se moglo lako pristupiti radi testiranja.

Metoda 3 od 3: Testiranje

Napišite server s Python -om Korak 10
Napišite server s Python -om Korak 10

Korak 1. Kreirajte test klijenta

Ovo je vrlo osnovni klijent koji će rukovati samo bez obzira je li poslužitelj poslao podatke drugog klijenta trenutnom klijentu. Imajte na umu da za razliku od poslužiteljskog koda, za ovaj kôd je potrebno ime servera. Ako sve ovo radite na jednom računaru, naziv servera trebao bi biti naziv vašeg računara. Ime računara možete saznati desnim klikom na Moj računar i prelaskom na svojstva.

Napišite server s Python -om Korak 11
Napišite server s Python -om Korak 11

Korak 2. Sačuvajte svoj rad

Ovo bi trebalo biti u istom direktoriju kao i kod poslužitelja.

Napišite server sa Python -om Korak 12
Napišite server sa Python -om Korak 12

Korak 3. Otvorite tri različita komandna prozora

Idite na izbornik Start i na traci za pretraživanje upišite “cmd” i pritisnite enter. Učinite to tri puta. Prozori bi trebali izgledati ovako.

Napišite server sa Python -om Korak 13
Napišite server sa Python -om Korak 13

Korak 4. Pokrenite programe

Prilikom korištenja naredbenog prozora morat ćete upisati tačnu putanju. Morat ćete prvo pokrenuti kôd poslužitelja u jednom naredbenom prozoru, a zatim kôd testnog klijenta u druga dva. Ako je sve bilo uspješno, dobit ćete ove poruke u prozoru.

Upozorenja

  • Ovaj program će raditi samo kada ga pokrećete i testirate klijente na istoj lokalnoj mreži.
  • Python 2.7.10 je zastario i bliži se kraju podrške. Da biste nastavili stvarati dobre servere, preporučuje se da umjesto toga instalirate najnoviju verziju Pythona 3.

Preporučuje se: