3 tapaa kirjoittaa palvelin Pythonilla

Sisällysluettelo:

3 tapaa kirjoittaa palvelin Pythonilla
3 tapaa kirjoittaa palvelin Pythonilla

Video: 3 tapaa kirjoittaa palvelin Pythonilla

Video: 3 tapaa kirjoittaa palvelin Pythonilla
Video: Nopeuta Windows 10: tä 2024, Huhtikuu
Anonim

Palvelimen luominen tyhjästä on iso tehtävä. Tämä voi kuitenkin parantaa huomattavasti ohjelmointitaitojasi ja antaa sinun muokata sitä tarpeidesi mukaan. Tämä opetusohjelma käyttää pythonia ja matalan tason socket -ohjelmointia palvelimen luomiseen, jotta asiakkaat voivat kommunikoida keskenään. Tämä kattaa myös vain Windows -prosessin. Jotkut tiedot annetaan ohjeissa, mutta jos haluat vain koodin, se on esitetty kuvissa. (Huomaa: tässä esitetyt ohjeet ovat vain perusasioita).

Askeleet

Tapa 1/3: Pythonin asennus

Kirjoita palvelin Pythonilla Vaihe 1
Kirjoita palvelin Pythonilla Vaihe 1

Vaihe 1. Lataa Python

Siirry pythonin pääsivulle ja lataa Python 2.7.10. Lataamisen jälkeen suoritetaan python -asennusohjelman vaiheet oletusasetuksilla. Tämä linkki löytyy täältä

Kirjoita palvelin Pythonilla Vaihe 2
Kirjoita palvelin Pythonilla Vaihe 2

Vaihe 2. Suorita IDLE (Python GUI)

Siirry Python 2.7 -kansioon ja suorita IDLE (Python GUI), python pitäisi nyt olla käynnistysvalikossa, jossa IDLE sijaitsee.

Kirjoita palvelin Pythonilla Vaihe 3
Kirjoita palvelin Pythonilla Vaihe 3

Vaihe 3. Luo uusi tiedosto

Siirry äskettäin avatun ikkunan vasemmassa yläkulmassa olevaan Tiedosto -kohtaan ja valitse Uusi tiedosto. Sinun pitäisi avata tyhjä ikkuna, jonka otsikko on Nimetön.

Tapa 2/3: Palvelimen luominen

Kirjoita Python -palvelin Vaihe 4
Kirjoita Python -palvelin Vaihe 4

Vaihe 1. Tuo tarvittavat moduulit

Tätä koodia varten tarvitaan kaksi moduulia”socket” ja “threading”. Tämä voidaan tehdä kirjoittamalla ensimmäiselle riville "from socket import *" ja seuraavaan riville "import threading".

Kirjoita palvelin Pythonilla Vaihe 5
Kirjoita palvelin Pythonilla Vaihe 5

Vaihe 2. Luo uusi säie

Tämä hoitaa 2 asiakkaan sovittamisen toisiinsa. Säikeet ovat prosesseja, jotka voivat olla käynnissä pääohjelman aikana. Kirjoita täsmälleen kuten kuvassa. Tämä asettaa muuttujat säikeeseen, jotta ne voidaan kutsua myöhemmin.

Kirjoita palvelin Pythonilla Vaihe 6
Kirjoita palvelin Pythonilla Vaihe 6

Vaihe 3. Luo säieprosessi

Jotta asiakkaat voivat kommunikoida suoraan, sinun on lähetettävä toistensa tiedot, mukaan lukien heidän IP -osoitteensa ja käyttämänsä portti. Tätä varten sinun on luotava socket -objekti, joka voidaan tehdä parametrilla "variableName = socket (AF_NET, SOCK_DGRAM)". Tämä luo socket -objektin, joka käyttää UDP -protokollaa. Seuraavaksi Sido pistorasia IP -osoitteeseesi tietyllä portinumerolla ja kirjoita”roomSocket.bind (('', self.port))” Tyhjä alue tarkoittaa omaa PC: si IP -osoitetta lähiverkossa ja itse. Portti portin numero, joka sisältyy tähän ketjuun soitettaessa. Viimeinen asia, joka sinun tarvitsee tehdä tämän pistorasian kanssa, on lähettää tiedot sen kautta. Koska tämä on UDP -liitäntä, sinun on vain tiedettävä sen tietokoneen IP -osoite ja portti, jolle lähetät tietoja, lähettämisen syntaksi on "socketName.sendto (IP, portti)"

Kirjoita palvelin Pythonilla Vaihe 7
Kirjoita palvelin Pythonilla Vaihe 7

Vaihe 4. Luo yleiset muuttujat

Tässä vaiheessa sinun on määritettävä useita muuttujia, kuten käyttäjäluettelo, porttien numerot, asiakasmäärät, säikeen asiakkaat ja huonetunnus. Sinun on myös luotava pistorasia, jotta palvelimesi voi olla vuorovaikutuksessa Internetin kanssa. Tämä tehdään luomalla uusi pistorasiaobjekti ja sitomalla se IP -osoitteeseesi tietyllä portinumerolla. (Portin numero voi olla mikä tahansa, mutta se on yleensä jotain korkeaa, jotta vältetään toisen prosessin käyttäminen tai varattujen porttinumeroiden käyttäminen.)

Kirjoita Python -palvelin Vaihe 8
Kirjoita Python -palvelin Vaihe 8

Vaihe 5. Luo pääpalvelinprosessi

Tämä ottaa huomioon asiakkaan osoitteen ja aloittaa aiemmin luodun viestiketjun. Tämä sisältää tietojen vastaanottamisen puskurista odottamisen ja asiakasosoitteen hankkimisen ja tallentamisen käytettäväksi ketjussa. Tapa saada tietoa pistorasiastasi on soittaa "socketName.recvfrom (1024)", tässä oleva numero on vain tavujen lukumäärä kerrallaan. Tässä esimerkissä tallennamme sen muuttujaan nimeltä userAddr, ja kun tämä tapahtuu, voit tallentaa tämän osoitteen vaiheessa 4 luotuun luetteloon. kun tapahtuu kaksi erilaista yhteyttä.

Kirjoita palvelin Pythonilla Vaihe 9
Kirjoita palvelin Pythonilla Vaihe 9

Vaihe 6. Tallenna työsi

Tämä tulisi tehdä hakemistossa, johon on helppo päästä, jotta siihen pääsee helposti testausta varten.

Menetelmä 3/3: Testaus

Kirjoita Python -palvelin Vaihe 10
Kirjoita Python -palvelin Vaihe 10

Vaihe 1. Luo testiasiakas

Tämä on hyvin perusasiakas, joka käsittelee vain sitä, onko palvelin lähettänyt toisen asiakkaan tiedot nykyiselle asiakkaalle vai ei. Huomaa, että toisin kuin palvelinkoodi, tämä koodi vaatii palvelimen nimen. Jos käytät tätä kaikkea yhdessä tietokoneessa, palvelimen nimen tulee olla tietokoneesi nimi. Voit selvittää tietokoneesi nimen napsauttamalla hiiren kakkospainikkeella Oma tietokone ja siirtymällä ominaisuuksiin.

Kirjoita palvelin Pythonilla Vaihe 11
Kirjoita palvelin Pythonilla Vaihe 11

Vaihe 2. Tallenna työsi

Tämän pitäisi olla samassa hakemistossa palvelinkoodin kanssa.

Kirjoita palvelin Pythonilla Vaihe 12
Kirjoita palvelin Pythonilla Vaihe 12

Vaihe 3. Avaa kolme eri komentoikkunaa

Siirry aloitusvalikkoon ja kirjoita hakupalkkiin "cmd" ja paina enter. Tee tämä kolme kertaa. Ikkunoiden pitäisi näyttää tältä.

Kirjoita Python -palvelin Vaihe 13
Kirjoita Python -palvelin Vaihe 13

Vaihe 4. Suorita ohjelmat

Sinun on kirjoitettava tarkka polku komentoikkunaa käytettäessä. Sinun on suoritettava palvelinkoodi ensin yhdessä komentoikkunassa ja sitten testiasiakaskoodi kahdessa muussa. Jos kaikki onnistui, saat jotain näitä viestejä ikkunaan.

Varoitukset

  • Tämä ohjelma toimii vain, kun se suoritetaan ja testataan asiakkaita samassa lähiverkossa.
  • Python 2.7.10 on vanhentunut ja lähestyy tuen loppua. Jos haluat jatkaa hyvien palvelimien luomista, on suositeltavaa asentaa uusin Python 3 -versio.

Suositeltava: