Obsah
Jak víme Krajta Má mnoho knihoven, které nám umožňují pracovat a spravovat připojení v sítích, ať už se připojujeme ke vzdáleným souborům, nebo náš program slouží jako server, v základních příkladech použití soketů s Krajta bylo vidět, že se s modulem velmi snadno manipuluje zásuvkaAby to však byla robustnější aplikace, musíme být schopni zvládnout více připojení.Pro zpracování více připojení v Krajta můžeme použít Rozdvojení a od Navlékání, aby bylo možné generovat asynchronní vstupní a výstupní procesy, které nám umožňují navštěvovat několik připojení současně.
Rozvětvení a řezání závitů
Pokud jsme v prvních krocích učení se programování nebo jsme provedli pouze strukturované programování, možná se tyto termíny mohou zdát komplikované, ale neznámé, nicméně jsou to jednoduché pojmy, kterým je třeba porozumět a strávit je, pojďme se podívat na definice, než budeme pokračovat dále.
Rozdvojení: Je to termín používaný v prostředích UNIX a spočívá v tom, že děláme bifurkaci, s procesem, který duplikujeme, a pak máme dva stejné procesy, ale každý s jeho rozsahem, původní proces je známý jako rodičovský proces a duplikovaný proces je známý jako podřízený proces, pokud provedeme analogicky se sci -fi je můžeme vidět jako paralelní vesmíry, kde stejné věci existují pouze v tom, že se mohou ve stejných bodech chovat odlišně.
Nevýhodou je Rozdvojení je, že to může být velmi nákladné z hlediska zdrojů, a proto máme Navlékání, a Vlákno Je to vlákno, v tomto případě jsou vlákna podprocesy, které patří do stejného procesu, sdílejí paměť a zdroje, tímto způsobem snižujeme náklady na zdroje procesoru, ale sdílením paměti nacházíme problém, kterým musíme být velmi opatrní s prvky, ke kterým Vlákna aby nedocházelo ke kompromitujícím operacím.
Nyní, když známe teorii a základní pojmy, uvidíme několik příkladů, ve kterých můžeme vidět aplikaci Krajta.
Jak jsme řekli na začátku díky velkému počtu modulů a knihoven existujících v Krajta, tvorba programů se síťovými funkcemi je velmi jednoduchá, takže se místo technických aspektů můžeme soustředit na logiku.
Podívejme se na následujícím obrázku na příklad Rozdvojení, pak vysvětlíme, co se stane s kódem:
Jak vidíme, že je tato aplikace docela jednoduchá, podívejme se, jak můžeme něčeho podobného dosáhnout pomocí Vlákna, na následujícím obrázku máme příklad: