3 načina pisanja poslužitelja s Pythonom

Sadržaj:

3 načina pisanja poslužitelja s Pythonom
3 načina pisanja poslužitelja s Pythonom

Video: 3 načina pisanja poslužitelja s Pythonom

Video: 3 načina pisanja poslužitelja s Pythonom
Video: Excel za početnike - Kako napraviti tabelu i grafikon u Microsoft Excel-u? (JEDNOSTAVNO UPUTSTVO) 2024, Ožujak
Anonim

Stvaranje poslužitelja od nule veliki je zadatak. Međutim, to može uvelike poboljšati vaše vještine programiranja i može vam omogućiti da ih prilagodite svojim potrebama. Ovaj će tutorial koristiti python i programiranje utičnica na niskoj razini za stvaranje poslužitelja kako bi klijenti mogli međusobno komunicirati. Ovo će također pokriti samo proces na prozorima. Neki će podaci biti navedeni u uputama, ali ako samo želite kôd, to je navedeno na slikama. (Napomena: upute prikazane 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 glavno web mjesto pythona i preuzmite Python 2.7.10. Nakon preuzimanja prođite korake instalacijskog programa python sa zadanim postavkama. Ova se veza nalazi ovdje

Napišite poslužitelj s Pythonom Korak 2
Napišite poslužitelj s Pythonom 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 Start gdje se nalazi IDLE.

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

Korak 3. Izradite 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: Stvaranje poslužitelja

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 kôd su "utičnica" i "navoj". To se može učiniti upisivanjem u prvi redak “from socket import *” i u sljedeći redak “import threading”.

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

Korak 2. Stvorite novu nit

To će obraditi međusobno podudaranje 2 klijenta. Niti su procesi koji se mogu pokrenuti dok je glavni program pokrenut. Upišite točno onako kako prikazuje slika. To ć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 što se može učiniti pomoću “variableName = socket (AF_NET, SOCK_DGRAM)”. Time će se stvoriti objekt utičnice koji koristi UDP protokol. Sljedeće 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čunala u vašoj lokalnoj mreži, a self.port dodjeljuje broj porta koji je uključen pri pozivanju ove niti. Zadnje što morate učiniti s ovom utičnicom je slanje informacija putem nje. Budući da je ovo UDP utičnica, jednostavno morate znati IP i port računala na koje šaljete podatke, sintaksa za slanje je „socketName.sendto (IP, port)“

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

Korak 4. Izradite globalne varijable

Za ovaj korak morat ćete 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 što, ali obično je nešto visoko kako bi se izbjeglo korištenje bilo kojeg drugog procesa ili korištenje rezerviranih brojeva portova.)

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

Korak 5. Kreirajte proces glavnog poslužitelja

To će uzeti adresu klijenta, kao i pokrenuti prethodno stvorenu nit. To uključuje čekanje za primanje 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 nakon što se to dogodi, možete spremiti ovu adresu 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 poslužitelj s Pythonom Korak 9
Napišite poslužitelj s Pythonom Korak 9

Korak 6. Spremite 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 poslužitelj s Pythonom Korak 10
Napišite poslužitelj s Pythonom Korak 10

Korak 1. Izradite testnog klijenta

Ovo je vrlo osnovni klijent koji će obraditi samo 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 poslužitelja. Ako sve ovo radite na jednom računalu, naziv poslužitelja trebao bi biti naziv vašeg računala. Ime računala možete saznati ako desnom tipkom miša kliknete Moje računalo i otvorite svojstva.

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

Korak 2. Spremite svoj rad

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

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

Korak 3. Otvorite tri različita naredbena 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 poslužitelj s Pythonom Korak 13
Napišite poslužitelj s Pythonom Korak 13

Korak 4. Pokrenite programe

Prilikom korištenja naredbenog prozora morat ćete upisati točan put. Kôd poslužitelja morat ćete pokrenuti prvo u jednom naredbenom prozoru, a zatim kôd testnog klijenta u druga dva. Ako je sve bilo uspješno, dobit ćete nešto od ovih poruka u prozoru.

Upozorenja

  • Ovaj će program 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. Za nastavak stvaranja dobrih poslužitelja preporučuje se instaliranje najnovije verzije Pythona 3.

Preporučeni: