Sukurti serverį nuo nulio yra didelė užduotis. Tačiau tai darydami galite žymiai pagerinti savo programavimo įgūdžius ir pakeisti savo poreikius. Šioje pamokoje bus naudojamas „python“ir žemo lygio lizdų programavimas, kad būtų sukurtas serveris, kad klientai galėtų bendrauti tarpusavyje. Tai taip pat apims tik „Windows“procesą. Kai kuri informacija bus pateikta instrukcijose, tačiau jei norite tik kodo, jis pateikiamas paveikslėliuose. (Pastaba: čia pateiktos instrukcijos yra tik pagrindai).
Žingsniai
1 būdas iš 3: „Python“diegimas
Žingsnis 1. Atsisiųskite „Python“
Eikite į pagrindinę „python“svetainę ir atsisiųskite „Python 2.7.10“. Po to, kai atsisiunčiama, vykdykite „python“diegimo programos veiksmus su numatytais nustatymais. Ši nuoroda pateikiama čia
2 veiksmas. Paleiskite IDLE („Python GUI“)
Eikite į Python 2.7 aplanką ir paleiskite IDLE (Python GUI), dabar python turėtų būti jūsų pradžios meniu, kuriame yra IDLE.
Žingsnis 3. Sukurkite naują failą
Naujai atidaryto lango viršutiniame kairiajame kampe eikite į Failas ir pasirinkite Naujas failas, jums turėtų būti atidarytas tuščias langas su pavadinimu Untitled.
2 metodas iš 3: serverio sukūrimas
Žingsnis 1. Importuokite reikiamus modulius
Šiam kodui reikalingi du moduliai yra „lizdas“ir „sriegimas“. Tai galima padaryti įvedus pirmąją eilutę „iš lizdo importavimo *“ir kitoje eilutėje „importuoti sriegimą“.
Žingsnis 2. Sukurkite naują giją
Tai padės suderinti 2 klientus tarpusavyje. Temos yra procesai, kurie gali būti vykdomi, kol vykdoma pagrindinė programa. Įveskite tiksliai taip, kaip parodyta paveikslėlyje. Tai nustatys gijos kintamuosius, kad vėliau juos būtų galima iškviesti.
Žingsnis 3. Sukurkite siūlų procesą
Kad klientai galėtų tiesiogiai bendrauti, turite nusiųsti vienas kitam informaciją, įskaitant jų IP adresą ir naudojamą prievadą. Norėdami tai padaryti, turite sukurti lizdo objektą, kurį galima padaryti naudojant „variableName = socket (AF_NET, SOCK_DGRAM)“. Taip bus sukurtas lizdo objektas, kuris naudoja UDP protokolą. Toliau Pririškite lizdą prie savo IP adreso su tam tikru prievado numeriu naudodami „roomSocket.bind (('', self.port))“Tuščia sritis reiškia jūsų kompiuterio IP adresą vietiniame tinkle ir „self.port“prievado numeris, kuris įtraukiamas skambinant šiai gijai. Paskutinis dalykas, kurį turite padaryti su šiuo lizdu, yra siųsti informaciją per jį. Kadangi tai yra UDP lizdas, jūs tiesiog turite žinoti kompiuterio, į kurį siunčiate informaciją, IP ir prievadą, siuntimo sintaksė yra „socketName.sendto (IP, port)“
Žingsnis 4. Sukurkite visuotinius kintamuosius
Atlikdami šį veiksmą turėsite apibrėžti kelis kintamuosius, įskaitant vartotojų sąrašą, prievadų numerius, klientų skaičių, siūlų klientus ir kambario ID. Taip pat turėsite sukurti lizdą, kad jūsų serveris galėtų sąveikauti su internetu. Tai daroma sukuriant naują lizdo objektą ir susiejant jį su jūsų IP adresu tam tikru prievado numeriu. (Prievado numeris gali būti bet koks, bet paprastai jis yra didelis, kad būtų išvengta kito proceso ar rezervuotų prievadų numerių naudojimo.)
Žingsnis 5. Sukurkite pagrindinio serverio procesą
Tai užims kliento adresą ir pradės anksčiau sukurtą temą. Tai apima laukimą, kol bus gauti duomenys iš buferio, kliento adreso gavimą ir išsaugojimą, kad jis būtų naudojamas gijoje. Informacijos iš lizdo galima gauti paskambinus „socketName.recvfrom (1024)“, šis skaičius yra tik vienu metu nuskaitytų baitų kiekis. Šiame pavyzdyje mes saugome jį kintamajame, vadinamame userAddr, ir kai tai atsitiks, galite išsaugoti šį adresą sąraše, kuris buvo sukurtas atlikus 4 veiksmą. Jei teiginys sukurs kambario giją, jei du žmonės prisijungs, ir sukurs tik kambarį kai įvyksta du skirtingi ryšiai.
6. Išsaugokite savo darbą
Tai turėtų būti padaryta kataloge, kurį lengva pasiekti, kad jį būtų galima lengvai pasiekti bandymams.
3 iš 3 metodas: bandymas
Žingsnis 1. Sukurkite bandomąjį klientą
Tai labai paprastas klientas, kuris tvarkys tik tai, ar serveris atsiuntė kito kliento informaciją dabartiniam klientui. Atminkite, kad skirtingai nuo serverio kodo, šiam kodui reikalingas serverio pavadinimas. Jei visa tai vykdote viename kompiuteryje, serverio pavadinimas turėtų būti jūsų kompiuterio pavadinimas. Savo kompiuterio pavadinimą galite sužinoti dešiniuoju pelės klavišu spustelėdami Mano kompiuteris ir eidami į ypatybes.
Žingsnis 2. Išsaugokite savo darbą
Tai turėtų būti tame pačiame kataloge kaip ir serverio kodas.
Žingsnis 3. Atidarykite tris skirtingus komandų langus
Eikite į pradžios meniu ir paieškos juostoje įveskite „cmd“ir paspauskite „Enter“. Padarykite tai tris kartus. Langai turėtų atrodyti taip.
Žingsnis 4. Paleiskite programas
Naudodami komandų langą turėsite įvesti tikslų kelią. Pirmiausia turėsite paleisti serverio kodą viename komandų lange, o tada bandomąjį kliento kodą kituose dviejuose. Jei viskas pavyko, kažką panašaus gausite savo lange.
Įspėjimai
- Ši programa veiks tik ją paleidus ir tikrinant klientus tame pačiame vietiniame tinkle.
- „Python 2.7.10“yra pasenęs ir artėja prie palaikymo pabaigos. Jei norite toliau kurti gerus serverius, rekomenduojama įdiegti naujausią „Python 3“versiją.