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
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
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.
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
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”.
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.
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)“
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.)
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.
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
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.
Korak 2. Sačuvajte svoj rad
Ovo bi trebalo biti u istom direktoriju kao i kod poslužitelja.
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.
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.