Egy szerver létrehozása a semmiből nagy feladat. Ezzel azonban jelentősen javíthatja programozási készségeit, és lehetővé teheti, hogy igényei szerint módosítsa azt. Ez az oktatóanyag python és alacsony szintű socket programozást használ egy szerver létrehozásához, így az ügyfelek kommunikálhatnak egymással. Ez is csak az ablakokra vonatkozó folyamatra terjed ki. Néhány információt az utasítások tartalmaznak, de ha csak a kódot szeretné, akkor azt az ábrák tartalmazzák. (Megjegyzés: az itt bemutatott utasítások csak az alapok).
Lépések
Módszer 1 /3: A Python telepítése
1. lépés: Töltse le a Python programot
Lépjen a python fő webhelyére, és töltse le a Python 2.7.10 -et. A letöltés után futtassa a python telepítő lépéseit az alapértelmezett beállításokkal. Ez a link itt található:
2. lépés: Futtassa az IDLE -t (Python GUI)
Lépjen be a Python 2.7 mappába, és futtassa az IDLE -t (Python GUI), a pythonnak most a Start menüben kell lennie, ahol az IDLE található.
3. lépés. Hozzon létre egy új fájlt
Lépjen a Fájl elemre az újonnan megnyitott ablak bal felső sarkában, és válassza az Új fájl lehetőséget, és üres ablakot kell nyitnia, melynek címe Untitled.
Módszer 2 /3: Szerver létrehozása
1. lépés: Importálja a szükséges modulokat
A kódhoz szükséges két modul a „socket” és a „threading”. Ezt úgy teheti meg, hogy beírja az első sorba a „socket import *”, majd a következő sorba az „import threading” bejegyzést.
2. lépés Hozzon létre új szálat
Ez kezelni fogja a két kliens egymással való egyeztetését. A szálak olyan folyamatok, amelyek a fő program futása közben is futhatnak. Gépelje pontosan úgy, ahogy az ábra mutatja. Ez beállítja a szál változóit, hogy később meghívható legyen.
3. lépés. Hozzon létre szálfolyamatot
Ahhoz, hogy az ügyfelek közvetlenül kommunikáljanak, el kell küldeni egymás adatait, beleértve az IP -címüket és az általuk használt portot. Ehhez létre kell hoznia egy socket objektumot, amelyet a „variableName = socket (AF_NET, SOCK_DGRAM)” paranccsal lehet megtenni. Ezzel létrejön egy socket objektum, amely UDP protokollt használ. Kövesse az aljzatot az Ön IP -címéhez egy bizonyos portszámmal a következővel: „roomSocket.bind (('', self.port))” Az üres terület a saját számítógépének IP -címét jelenti a helyi hálózaton belül, és a portszám, amely szerepel a szál hívásakor. Az utolsó dolog, amit ehhez az aljzathoz kell tennie, az információ küldése rajta keresztül. Mivel ez egy UDP foglalat, egyszerűen ismernie kell annak a számítógépnek az IP -címét és portját, amelyre információt küld, ezért a küldés szintaxisa „socketName.sendto (IP, port)”
4. lépés. Hozza létre a globális változókat
Ehhez a lépéshez több változót kell definiálnia, beleértve a felhasználói listát, a portszámokat, az ügyfélszámot, a szál ügyfeleit és a helyiség azonosítóját. Létre kell hoznia egy aljzatot is, hogy a szerver kölcsönhatásba léphessen az internettel. Ez úgy történik, hogy létrehoz egy új socket objektumot, és egy bizonyos portszámmal az IP -címéhez köti. (A portszám bármi lehet, de általában valami magas, nehogy más folyamat használja, vagy ne használjon fenntartott portszámokat.)
5. lépés. Hozza létre a fő szerverfolyamatot
Ez felveszi az ügyfél címét, és elindítja a korábban létrehozott szálat. Ez magában foglalja a várakozást az adatok pufferből történő fogadására, az ügyfél címének lekérését és a szálban való felhasználását. Az aljzatból az információ megszerzésének módja a „socketName.recvfrom (1024)” hívás, itt a szám csak az egyszerre olvasható bájtok száma. Ebben a példában a userAddr nevű változóba tároljuk, és ha ez megtörténik, elmentheti ezt a címet a 4. lépésben létrehozott listába. Az if utasítás létrehoz egy szoba szálat, ha két ember csatlakozik, és csak egy szobát hoz létre amikor két különböző kapcsolat jön létre.
6. Lépés. Mentse el munkáját
Ezt egy könnyen hozzáférhető könyvtárban kell elvégezni, hogy könnyen hozzáférhető legyen teszteléshez.
3. módszer 3 -ból: Tesztelés
1. lépés Hozzon létre egy teszt klienst
Ez egy nagyon alapvető kliens, amely csak azt kezeli, hogy a szerver elküldte -e a másik ügyfél adatait az aktuális ügyfélnek. Kérjük, vegye figyelembe, hogy a szerverkóddal ellentétben ehhez a kódhoz szervernév szükséges. Ha mindezt egy számítógépen futtatja, akkor a szerver neve legyen a számítógép neve. A számítógép nevét megtudhatja, ha a jobb gombbal kattint a Sajátgép elemre, és megnyitja a tulajdonságokat.
2. lépés. Mentse el munkáját
Ennek ugyanabban a könyvtárban kell lennie, mint a szerver kódja.
3. Nyissa meg a három különböző parancsablakot
Lépjen a Start menübe, és írja be a keresősávba a „cmd” parancsot, és nyomja meg az Enter billentyűt. Végezze el ezt háromszor. Az ablakoknak így kell kinézniük.
4. lépés Futtassa a programokat
A parancsablak használatakor be kell írnia a pontos elérési utat. Először a kiszolgáló kódját kell futtatnia az egyik parancsablakban, majd a teszt kliens kódot a másik kettőben. Ha minden sikeres volt, akkor ezek az üzenetek megjelennek az ablakban.
Figyelmeztetések
- Ez a program csak akkor működik, ha futtatja és teszteli az ügyfeleket ugyanazon a helyi hálózaton.
- A Python 2.7.10 elavult, és a támogatása végéhez közeledik. Ahhoz, hogy továbbra is jó szervereket készítsen, ajánlatos a Python 3 legújabb verzióját telepíteni.