3 viisi Pythoniga serveri kirjutamiseks

Sisukord:

3 viisi Pythoniga serveri kirjutamiseks
3 viisi Pythoniga serveri kirjutamiseks

Video: 3 viisi Pythoniga serveri kirjutamiseks

Video: 3 viisi Pythoniga serveri kirjutamiseks
Video: Маша и Медведь (Masha and The Bear) - Маша плюс каша (17 Серия) 2024, Aprill
Anonim

Serveri loomine nullist on suur ülesanne. Kuid see võib oluliselt parandada teie programmeerimisoskusi ja võimaldada teil seda vastavalt oma vajadustele muuta. See õpetus kasutab serveri loomiseks pythoni ja madala taseme pistikuprogrammeerimist, et kliendid saaksid üksteisega suhelda. See hõlmab ka ainult Windowsi protsessi. Juhendis antakse teavet, kuid kui soovite lihtsalt koodi, on see esitatud joonistel. (Märkus: siin esitatud juhised on ainult põhitõed).

Sammud

Meetod 1 /3: Pythoni installimine

Kirjutage Pythoniga server 1. samm
Kirjutage Pythoniga server 1. samm

Samm 1. Laadige alla Python

Minge pythoni põhilehele ja laadige alla Python 2.7.10. Pärast allalaadimist läbivad pythoni installija sammud vaikeseadetega. See link on saadaval siin

Kirjutage Pythoniga server 2. samm
Kirjutage Pythoniga server 2. samm

Samm 2. Käivitage IDLE (Python GUI)

Minge kausta Python 2.7 ja käivitage IDLE (Python GUI), python peaks nüüd olema teie menüüs Start, kus IDLE asub.

Kirjutage Pythoniga server 3. samm
Kirjutage Pythoniga server 3. samm

Samm 3. Looge uus fail

Minge äsja avatud akna vasakus ülanurgas valikule Fail ja valige Uus fail. Peaksite avama tühja akna pealkirjaga Pealkirjata.

Meetod 2/3: serveri loomine

Kirjutage Pythoniga server 4. samm
Kirjutage Pythoniga server 4. samm

Samm 1. Importige vajalikud moodulid

Selle koodi jaoks vajalikud kaks moodulit on „pistikupesa” ja „keermestamine”. Seda saab teha, tippides esimesele reale „alates pistikupesa impordist *” ja järgmisele reale „impordi lõime”.

Kirjutage Pythoniga server 5. samm
Kirjutage Pythoniga server 5. samm

Samm 2. Looge uus lõng

See lahendab 2 kliendi omavahel sobitamise. Lõimed on protsessid, mida saab käivitada põhiprogrammi töötamise ajal. Sisestage täpselt nii, nagu joonisel näidatud. See seadistab lõime muutujad nii, et neid saab hiljem kutsuda.

Kirjutage Pythoniga server 6. samm
Kirjutage Pythoniga server 6. samm

Samm 3. Looge niidiprotsess

Et kliendid saaksid otse suhelda, peate üksteisele saatma teabe, sealhulgas nende IP -aadressi ja kasutatava pordi. Selleks peate looma pistikupesa objekti, mida saab teha parameetriga „variableName = socket (AF_NET, SOCK_DGRAM)”. See loob pesaobjekti, mis kasutab UDP protokolli. Järgmine Siduge pistikupesa oma IP -aadressile teatud pordi numbriga, kasutades “roomSocket.bind (('', self.port))” Tühi ala tähistab teie arvuti IP -aadressi teie kohtvõrgus ja ise. pordi number, mis lisatakse sellele lõimele helistamisel. Viimane asi, mida peate selle pistikupesaga tegema, on selle kaudu teabe saatmine. Kuna tegemist on UDP -pistikupesaga, peate lihtsalt teadma selle arvuti IP -aadressi ja porti, kuhu teavet saadate, on saatmise süntaks „socketName.sendto (IP, port)”

Kirjutage Pythoniga server 7. samm
Kirjutage Pythoniga server 7. samm

Samm 4. Looge globaalsed muutujad

Selle sammu jaoks peate määratlema mitu muutujat, sealhulgas kasutajate loend, pordi numbrid, klientide arv, lõime kliendid ja ruumi ID. Samuti peate looma pistikupesa, et teie server saaks Internetiga suhelda. Selleks luuakse uus pistikupesa objekt ja seotakse see teatud pordinumbriga teie IP -aadressile. (Pordi number võib olla ükskõik milline, kuid tavaliselt on see midagi kõrget, et vältida selle kasutamist mõnes teises protsessis või reserveeritud pordinumbrite kasutamist.)

Kirjutage Pythoniga server 8. samm
Kirjutage Pythoniga server 8. samm

Samm 5. Looge peamine serveriprotsess

See võtab arvesse kliendi aadressi ja käivitab varem loodud lõime. See hõlmab puhvrist andmete saamise ootamist ja kliendiaadressi hankimist ning lõimes kasutamiseks salvestamist. Pistikupesast teabe hankimise viis on helistada numbril „socketName.recvfrom (1024)”, siin on see arv ainult baitide arv, mida korraga loetakse. Selles näites salvestame selle muutuja nimega userAddr ja kui see on juhtunud, saate selle aadressi salvestada 4. sammus loodud loendisse. Kui lause loob kahe toa ühendamisel toa lõime ja loob ainult ruumi kui tekib kaks erinevat ühendust.

Kirjutage Pythoniga server 9. samm
Kirjutage Pythoniga server 9. samm

Samm 6. Salvestage oma töö

Seda tuleks teha kataloogis, kuhu on lihtne pääseda, et sellele oleks lihtne testimiseks juurde pääseda.

Meetod 3/3: testimine

Kirjutage server Pythoniga, samm 10
Kirjutage server Pythoniga, samm 10

Samm 1. Looge testklient

See on väga lihtne klient, mis tegeleb ainult sellega, kas server saatis teise kliendi teabe praegusele kliendile või mitte. Pange tähele, et erinevalt serverikoodist nõuab see kood serveri nime. Kui kasutate seda kõike ühes arvutis, peaks serveri nimi olema teie arvuti nimi. Oma arvuti nime saate teada, paremklõpsates nuppu Minu arvuti ja minnes atribuutide juurde.

Kirjutage Pythoniga server 11. samm
Kirjutage Pythoniga server 11. samm

Samm 2. Salvestage oma töö

See peaks asuma serveri koodiga samas kataloogis.

Kirjutage server Pythoniga, samm 12
Kirjutage server Pythoniga, samm 12

Samm 3. Avage kolm erinevat käsuakent

Minge menüüsse Start ja tippige otsinguribale "cmd" ja vajutage sisestusklahvi. Tehke seda kolm korda. Aknad peaksid välja nägema sellised.

Kirjutage Pythoniga server 13. samm
Kirjutage Pythoniga server 13. samm

Samm 4. Käivitage programmid

Käsklusakna kasutamisel peate sisestama täpse tee. Esmalt peate käivitama serveri koodi ühes käsuaknas ja seejärel testkliendi koodi kahes teises. Kui kõik õnnestus, saate nende sõnumite aknasse midagi.

Hoiatused

  • See programm töötab ainult selle käivitamisel ja klientide testimisel samas kohtvõrgus.
  • Python 2.7.10 on aegunud ja hakkab oma toe lõppu jõudma. Heade serverite loomise jätkamiseks on soovitatav selle asemel installida Python 3 uusim versioon.

Soovitan: