Como o python é usado em redes?
A linguagem de programação Python desempenha um papel vital na programação de rede. O Python possui uma biblioteca padrão integrada que fornece suporte completo para codificação e decodificação de dados, protocolos de rede e todos os outros conceitos de rede. Escrever os códigos de programação de rede no Python é muito mais fácil do que em C ++ ou Java. A linguagem de programação Python fornece dois níveis de acesso ao serviço de rede: acesso de baixo nível e alto nível. O acesso de baixo nível oferece o suporte básico do soquete do sistema operacional. Enquanto o acesso de alto nível permite os protocolos de implementação como o FTP. Http, etc.
Este artigo o ajudará com um entendimento básico do conceito mais famoso de networking em Python, que é a programação do soquete.
O que são soquetes?
Os soquetes fornecem um canal de comunicação bidirecional entre dois terminais. Processos em outras máquinas, processos na mesma máquina e soquete consegue se comunicar com todos. Eles podem ser implementados em diferentes canais, como UDP, TCP, soquetes de domínio UNIX, etc. A biblioteca de soquete em Python oferece diferentes classes para gerenciar a transferência de dados comum ou uma interface genérica para gerenciar o resto. Os soquetes usam vários tipos de protocolos para determinar a conexão de porta a porta entre servidores e clientes. Esses protocolos são usados para FTP, SMTP, email, endereço IP, DNS, etc. O vocabulário dos soquetes é diferente. Dê uma olhada na seguinte ilustração:
Prazo | Descrição |
Domínio | Conjunto de protocolos usados como mecanismo de transporte. |
Tipo | Define o tipo de comunicação entre soquetes. |
Protocolo | Determina o tipo de protocolo dentro do tipo e domínio. |
Porta | Um ponto de escuta através do qual os servidores ouvem as chamadas do cliente. Consiste no nome de um serviço, uma string que contém o número da porta e um número da porta fixnum. |
nome de anfitrião | Identifica uma interface de rede e consiste nas seguintes coisas: Uma string "" que identifica o endereço de transmissão. Uma corda de comprimento zero. Uma string que contém o nome do host, um endereço de duplo quadro ou um endereço IPv6. Um número inteiro que define o endereço binário em ordem de byte host. |
O que é programação de soquete?
A programação do soquete conecta dois nós em uma rede de comunicação. Um nó é o ouvinte que é comumente conhecido como servidor, e o outro alcança o servidor, que é conhecido como o cliente. Para programação de soquete em Python, o módulo de soquete precisa ser incluído.
Vamos explorar alguns exemplos para aprender a implementar a programação de rede em Python.
Exemplo 1:
Neste exemplo, aprenderemos a sintaxe do módulo de soquete e como importá -lo para um programa Python. Primeiro, importamos o módulo de soquete no programa Python usando a instrução "importar soquete". Então, podemos usar as funções dos módulos de soquete. Aqui está a sintaxe do módulo Socket ():
soquete de importaçãoAgora vamos executar a declaração para ver o que ele retorna:
Aqui está a seguinte saída:
Exemplo 2:
Agora, vamos aprender a criar um servidor simples e um cliente simples e ver como eles se comunicam.
Aqui está a codificação do lado do servidor:
Primeiro, importe um soquete e depois crie um objeto de soquete:
importar soquete como sObtenha o nome da máquina ligando para a instrução gethostName ():
hostname = soquete.GethostName ()Forneça o número da porta que deseja que o servidor faça uma conexão entre servidor e cliente:
Portnum = 12345Agora, vincule o host à porta para iniciar uma conexão:
s.Bind ((HostName, Portnum))O próximo passo é esperar a conexão do cliente:
SocketModule.Ouça (5)Por fim, estabeleça uma conexão com o cliente:
enquanto é verdade:A seguir, a codificação do lado do cliente:
Para iniciar uma conexão, o módulo de soquete precisa ser importado no lado do cliente, assim como foi importado no lado do servidor:
importar soquete como sSiga o mesmo processo, obtenha o nome da máquina local e reserve a porta que foi reservada pelo servidor para estabelecer uma conexão:
hostname = soquete.GethostName ()Agora, conecte o host à porta e faça uma conexão entre eles:
SocketModule.Connect (('127.0.0.1 ', Portnum))Depois de terminar com a codificação do cliente e do servidor, inicie o servidor e o cliente em segundo plano para ver os resultados:
Após uma conexão bem -sucedida, você verá a seguinte saída:
Exemplo 3:
Vamos ver outro exemplo para ter um entendimento mais claro sobre como o servidor se conecta com o cliente, bem como como o servidor ouve o cliente.
Aqui está a codificação do lado do servidor:
Para a codificação do lado do servidor, siga o mesmo processo. Importe o soquete, crie um módulo de soquete, reserve o número da porta, vincule o host e a porta e ouça o cliente. Se você pode observar, a condição "se" é adicionada ao loop para verificar uma condição específica. Veja o seguinte código:
soquete de importaçãoA seguir, a codificação do lado do cliente:
O processo de fazer uma conexão no lado do cliente é novamente, o mesmo. Importe o soquete, crie um módulo de soquete, reserve o número da porta e conecte a porta ao host:
soquete de importaçãoAgora, observe que o cliente envia uma mensagem para o servidor - “Olá! Eu sou uma mensagem do cliente ”. Esta mensagem é recebida pelo servidor e é impressa.
Após a conexão bem -sucedida entre o servidor e o cliente, você poderá ver a seguinte saída:
Conclusão
Esta é uma visão geral básica da programação do soquete em Python e um início rápido com a implementação. No entanto, é um assunto vasto e contém muitos detalhes com codificação complexa. Depois de obter prática com esses programas simples, você poderá entrar na profundidade da programação do soquete.