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