Питхон - Више веза

Преглед садржаја
Као што знамо Питхон Има много библиотека које нам омогућавају рад и управљање везама у мрежама, било да се повезујемо са удаљеним датотекама или наш програм служи као сервер, у основним примерима коришћења утичница са Питхон видело се да се са њим веома лако рукује употребом модула утичницаМеђутим, да би то била робуснија апликација, морамо бити у могућности руковати са више веза.
За руковање више веза у Питхон можемо користити Форкинг и од Тхреадинг, како бисмо могли да генеришемо асинхроне улазне и излазне процесе који нам омогућавају да присуствујемо више веза истовремено.
Форкинг анд Тхреадинг
Ако смо у првим корацима учења програмирања или смо само радили структурирано програмирање, можда се ови појмови могу чинити компликованим да буду непознати, међутим то су једноставни концепти за разумевање и варење, хајде да видимо дефиниције пре него што наставимо даље.
Форкинг: То је термин који се користи у окружењима УНИКС и састоји се од прављења бифуркације, са процесом који га дуплирамо, а затим имамо два једнака процеса, али сваки са својим обимом, оригинални процес је познат као родитељски процес, а дуплирани процес је познат као подређени процес, ако направимо аналогију са научном фантастиком, можемо их посматрати као паралелне универзуме, где исте ствари постоје само да се могу понашати различито у истим тачкама.
Недостатак Форкинг је да то може бити веома скупо у смислу ресурса и зато имамо Тхреадинг, а Тхреад То је нит, у овом случају нити су подпроцеси који припадају истом процесу, дијеле меморију и ресурсе, на овај начин смањујемо трошкове ресурса процесора, међутим дијељењем меморије откривамо проблем у којем морамо бити веома опрезни са елементима на које се Теме како не би дошло до компромитованих операција.
Сада када познајемо теорију и основне концепте, видјет ћемо неке примјере у којима можемо видјети примјену Питхон.
Као што смо рекли на почетку захваљујући великом броју модула и библиотека који постоје у Питхон, прављење програма са мрежним функционалностима је врло једноставно, па се можемо концентрисати на логику уместо на техничке аспекте.
Погледајмо на следећој слици пример Форкинг, онда ћемо објаснити шта се дешава са кодом:

Прво што урадимо је увозимо модуле из којих нам је потребно СоцкетСервер, важно је да погледамо ФоркингМикИн ко ће бити задужен за управљање дуплирањем процеса са сваким захтевом, тада дефинишемо класу Сервер И ХандлерУнутар Хандлера постављамо конструктор, који је тај који ће управљати оним што ће се догодити са долазним везама, у овом случају, он ће добити име клијента и направити ситотисак поруке; На крају инстанцирамо класу Сервер, прослеђујемо јој параметре, прво порт на којем ће прихватити везе, а затим класу Хандлер, на крају позивамо методу серве_форевер да покренете сервер тако да може да управља захтевима клијената.
Како видимо да је ова апликација прилично једноставна, хајде да видимо како можемо постићи нешто слично користећи Теме, на следећој слици имамо пример:

Можемо схватити да је то скоро исти исти горњи код са том разликом што уместо коришћења ФоркингМикИн, користимо ТхреадингМикИнДакле, као што видимо, ово су кључне библиотеке за овакво понашање при изради програма који прихватају више веза.Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен
wave wave wave wave wave