Python - conexões múltiplas

Índice
Como sabemos Pitão Possui muitas bibliotecas que nos permitem trabalhar e gerenciar conexões em redes, quer nos conectemos a arquivos remotos ou nosso programa sirva como um servidor, em exemplos básicos de uso de sockets com Pitão foi visto que isso é muito facilmente manuseado com o uso do módulo tomadaNo entanto, para que seja um aplicativo mais robusto, devemos ser capazes de lidar com várias conexões.
Para lidar com várias conexões em Pitão podemos usar o Bifurcação e de Threading, para poder gerar processos de entrada e saída assíncronos que nos permitem atender a várias ligações ao mesmo tempo.
Bifurcação e Rosqueamento
Se estamos em nossos primeiros passos para aprender a programar ou se só fizemos programação estruturada, talvez esses termos possam parecer complicados para serem desconhecidos, porém são conceitos simples de entender e digerir, vamos ver as definições antes de prosseguir.
Bifurcação: É um termo usado em ambientes UNIX e consiste em fazer uma bifurcação, com um processo nós o duplicamos e então temos dois processos iguais mas cada um com seu escopo, o processo original é conhecido como processo pai e o processo duplicado é conhecido como processo filho, se fizermos uma analogia com a ficção científica, podemos vê-los como universos paralelos, onde as mesmas coisas existem apenas que podem se comportar de forma diferente nos mesmos pontos.
A desvantagem de Bifurcação é que pode ser muito caro em termos de recursos e é por isso que temos Threading, uma Fio É um thread, neste caso os threads são subprocessos que pertencem ao mesmo processo, compartilhando memória e recursos, desta forma diminuímos o custo dos recursos do processador, porém ao compartilhar memória encontramos o problema que devemos estar muito cuidado com os elementos aos quais o Tópicos de modo a não resultar em operações comprometidas.
Agora que conhecemos a teoria e os conceitos básicos, veremos alguns exemplos com os quais podemos ver a aplicação em Pitão.
Como dissemos no início, graças ao grande número de módulos e bibliotecas existentes em Pitão, fazer programas com funcionalidades de rede é muito simples, então podemos nos concentrar na lógica ao invés dos aspectos técnicos.
Vamos ver na imagem a seguir um exemplo de Bifurcação, então explicaremos o que acontece com o código:

A primeira coisa que fazemos é importar os módulos de que precisamos SocketServer, importante que olhemos é ForkingMixIn quem ficará encarregado de gerenciar a duplicação dos processos a cada solicitação, então definimos a classe Servidor Y HandlerDentro de Handler colocamos um construtor, que é quem vai gerenciar o que vai acontecer com as conexões de entrada, neste caso, vai obter o nome do cliente e fazer uma impressão da tela de uma mensagem; Por fim, instanciamos a classe Server, passamos os parâmetros para ela, primeiro a porta onde aceitará as conexões e depois a classe Handler, finalmente chamamos o método serve_forever para iniciar o servidor para que ele possa gerenciar as solicitações do cliente.
Como vemos que esta aplicação é bastante simples, vamos ver como podemos conseguir algo semelhante usando Tópicos, na imagem a seguir temos um exemplo:

Podemos perceber que é quase exatamente o mesmo código acima, com a diferença de que em vez de usar ForkingMixIn, nós usamos ThreadingMixInPortanto, como podemos ver, essas são as principais bibliotecas para esse comportamento ao fazer programas que aceitam conexões múltiplas.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave