3 způsoby, jak napsat server pomocí Pythonu

Obsah:

3 způsoby, jak napsat server pomocí Pythonu
3 způsoby, jak napsat server pomocí Pythonu

Video: 3 způsoby, jak napsat server pomocí Pythonu

Video: 3 způsoby, jak napsat server pomocí Pythonu
Video: Use Outlook Archive to FREE SPACE & CLEAN UP Your Mailbox 2024, Duben
Anonim

Vytvoření serveru od nuly je velký úkol. To však může výrazně zlepšit vaše programovací schopnosti a umožní vám to upravit podle svých potřeb. Tento tutoriál bude používat python a nízkoúrovňové programování soketů k vytvoření serveru, aby mezi sebou klienti mohli komunikovat. To také pokryje pouze proces na oknech. Některé informace budou uvedeny v pokynech, ale pokud chcete pouze kód, je uveden na obrázcích. (Poznámka: zde uvedené pokyny jsou pouze základy).

Kroky

Metoda 1 ze 3: Instalace Pythonu

Napište server pomocí Pythonu, krok 1
Napište server pomocí Pythonu, krok 1

Krok 1. Stáhněte si Python

Přejděte na hlavní web pythonu a stáhněte si Python 2.7.10. Po stažení proveďte kroky instalačního programu pythonu s výchozím nastavením. Tento odkaz je k dispozici zde

Napište server pomocí Pythonu, krok 2
Napište server pomocí Pythonu, krok 2

Krok 2. Spusťte IDLE (Python GUI)

Přejděte do složky Python 2.7 a spusťte IDLE (Python GUI), python by nyní měl být v nabídce Start, kde se nachází IDLE.

Napište server pomocí Pythonu, krok 3
Napište server pomocí Pythonu, krok 3

Krok 3. Vytvořte nový soubor

Přejděte na Soubor v levém horním rohu nově otevřeného okna a vyberte Nový soubor, měli byste mít otevřené prázdné okno s názvem Bez názvu.

Metoda 2 ze 3: Vytvoření serveru

Napište server pomocí Pythonu, krok 4
Napište server pomocí Pythonu, krok 4

Krok 1. Importujte potřebné moduly

Dva moduly potřebné pro tento kód jsou „socket“a „threading“. To lze provést zadáním prvního řádku „z importu soketu *“a do dalšího řádku „importování vláken“.

Napište server pomocí Pythonu, krok 5
Napište server pomocí Pythonu, krok 5

Krok 2. Vytvořte nové vlákno

To zvládne párování 2 klientů navzájem. Vlákna jsou procesy, které lze spustit, když běží hlavní program. Pište přesně tak, jak ukazuje obrázek. Tím se nastaví proměnné ve vlákně, takže je lze volat později.

Napište server pomocí Pythonu, krok 6
Napište server pomocí Pythonu, krok 6

Krok 3. Vytvořte proces vlákna

Aby klienti mohli komunikovat přímo, musíte si navzájem poslat informace, které obsahují jejich IP adresu a port, který používají. Chcete -li to provést, musíte vytvořit objekt soketu, který lze provést pomocí „variableName = socket (AF_NET, SOCK_DGRAM)“. Tím se vytvoří objekt soketu, který používá protokol UDP. Další Spojte soket s vaší IP adresou s určitým číslem portu pomocí „roomSocket.bind (('', self.port))“Prázdná oblast znamená IP adresu vašeho počítače v rámci vaší lokální sítě a self.port přiřadí číslo portu, které je zahrnuto při volání tohoto vlákna. Poslední věc, kterou musíte s tímto soketem udělat, je odeslat přes něj informace. Protože se jedná o soket UDP, musíte jednoduše znát IP a port počítače, na který odesíláte informace, syntaxe pro odesílání je „socketName.sendto (IP, port)“

Napište server pomocí Pythonu, krok 7
Napište server pomocí Pythonu, krok 7

Krok 4. Vytvořte globální proměnné

Pro tento krok budete muset definovat několik proměnných, které zahrnují seznam uživatelů, čísla portů, počet klientů, klienty pro vlákno a ID místnosti. Budete také muset vytvořit soket, aby váš server mohl komunikovat s internetem. To se provádí vytvořením nového objektu soketu a jeho vazbou na vaši IP adresu s určitým číslem portu. (Číslo portu může být cokoli, ale obvykle je to něco vysokého, aby se zabránilo použití jiného procesu nebo použití vyhrazených čísel portů.)

Napište server pomocí Pythonu, krok 8
Napište server pomocí Pythonu, krok 8

Krok 5. Vytvořte hlavní serverový proces

Tím se převezme adresa klienta a spustí se vlákno vytvořené dříve. To zahrnuje čekání na příjem dat z vyrovnávací paměti a získání adresy klienta a její uložení do vlákna. Způsob, jak získat informace ze soketu, je zavolat pomocí „socketName.recvfrom (1024)“, zde uvedené číslo představuje pouze počet bajtů, které lze přečíst najednou. V tomto případě jej ukládáme do proměnné s názvem userAddr, a jakmile k tomu dojde, můžete tuto adresu uložit do seznamu, který byl vytvořen v kroku 4. Příkaz if vytvoří vlákno místnosti, pokud se připojí dva lidé a vytvoří pouze místnost když dojde ke dvěma různým spojením.

Napište server pomocí Pythonu, krok 9
Napište server pomocí Pythonu, krok 9

Krok 6. Uložte svou práci

To by mělo být provedeno v adresáři, ke kterému je snadné se dostat, aby byl snadno přístupný pro testování.

Metoda 3 ze 3: Testování

Napište server pomocí Pythonu, krok 10
Napište server pomocí Pythonu, krok 10

Krok 1. Vytvořte testovacího klienta

Jedná se o velmi základního klienta, který bude zpracovávat pouze to, zda server aktuálnímu klientovi odeslal informace druhého klienta. Upozorňujeme, že na rozdíl od kódu serveru tento kód vyžaduje název serveru. Pokud to vše spouštíte na jednom počítači, název serveru by měl být název vašeho počítače. Název počítače můžete zjistit kliknutím pravým tlačítkem na Tento počítač a přechodem na vlastnosti.

Napište server pomocí Pythonu, krok 11
Napište server pomocí Pythonu, krok 11

Krok 2. Uložte svou práci

To by mělo být ve stejném adresáři jako kód serveru.

Napište server pomocí Pythonu, krok 12
Napište server pomocí Pythonu, krok 12

Krok 3. Otevřete tři různá okna příkazů

Přejděte do nabídky Start a do vyhledávacího pole zadejte „cmd“a stiskněte Enter. Udělejte to třikrát. Okna by měla vypadat takto.

Napište server pomocí Pythonu, krok 13
Napište server pomocí Pythonu, krok 13

Krok 4. Spusťte programy

Při použití příkazového okna budete muset zadat přesnou cestu. V jednom příkazovém okně budete muset nejprve spustit kód serveru a v ostatních dvou pak testovací kód klienta. Pokud bylo vše úspěšné, dostanete do okna něco s těmito zprávami.

Varování

  • Tento program bude fungovat pouze při spuštění a testování klientů ve stejné místní síti.
  • Python 2.7.10 je zastaralý a blíží se konec své podpory. Chcete -li pokračovat ve vytváření dobrých serverů, doporučujeme místo toho nainstalovat nejnovější verzi Pythonu 3.

Doporučuje: