Soquete python af_inet

Soquete python af_inet
“Uma rede pode ser configurada de modo que dois nós possam interagir entre si usando programação de soquete. Enquanto o outro soquete chega a outro para vincular, um soquete (nó) ouvindo em uma determinada porta em um endereço IP. Durante a conexão do cliente com o servidor, o servidor cria o soquete do ouvinte. Eles formam a base da navegação online. O primeiro passo na programação do soquete é incorporar o pacote de soquete e gerar um soquete simples.

Af_inet é o primeiro argumento, enquanto Sock_stream seria o próximo. AF_INET representa a família de endereço IPv4. Em contraste com o IPv6 para o AF INET6, AF INET refere -se ao ramo ou reino. A comunicação TCP orientada para a conexão é chamada de Sock_stream. Neste artigo, daremos uma olhada no uso do parâmetro AF_INET na programação de soquete de python dentro da ferramenta Spyder.”

Exemplo 1

Temos iniciado o primeiro exemplo deste artigo para criar uma conexão segura entre o soquete e o servidor host. Para isso, estamos importando o módulo de soquete de Python na primeira linha e o módulo "SYS" na segunda linha usando a palavra -chave "importar". Depois disso, estamos utilizando o conceito de manuseio de exceção usando a declaração Try-Except de Python duas vezes neste código.

Em primeiro lugar, a declaração de tentativa foi criar um novo soquete "S" usando a função "soquete" de um módulo de soquete em Python com seus dois parâmetros, AF_INET e SOCK_STREAM. O AF_INET mostra que o soquete usará a família IPv4, e o Sock_Str EAM foi usado para utilizar o protocolo TCP para o fluxo de conexão. A função de impressão está usando a frase simples para imprimir no console da ferramenta Spyder para exibir que a criação do soquete foi realizada.

Se a tentativa de obter o endereço IP for bem -sucedido, a cláusula da declaração é ignorada e o código restante será executado de acordo. A declaração exceto foi usada para exibir o erro no console se a criação de um soquete foi usada sem sucesso o soquete.objeto de erro e salvá -lo para variável "e". Após a declaração Try-exceto (), inicializamos o número da porta "P" a 80 para o soquete, I.e., A porta padrão da conexão de soquete com um servidor da web é 80. O próximo passo é resolver o host e conectar o soquete com ele usando o endereço IP do host.

Para isso, estamos utilizando a declaração "Try-Except" mais uma vez no código Python. A declaração de tentativa foi iniciada com o uso da função GethostByName () do módulo de soquete, que tem usado o URL do Google para obter seu "IP" e salvá -lo na variável do quadril. Se o endereço IP tiver sido encontrado com sucesso, ele não executará a declaração, exceto e continuará executando as próximas linhas de código. Caso contrário, se a declaração exceto obtiver o "Gaierror" do módulo de soquete, ele usará a declaração de impressão para exibir que não podemos resolver o IP de um host, e o módulo "SYS" será usado para chamar sua "saída () ”Função para encerrar o programa logo no momento.

Após as duas declarações de tentativa-excepção, usamos o endereço IP recém-adquirido como "Hip" e o número da porta "P" para conectar o soquete com o host do Google, I I.e., Usando a função Connect () do módulo de soquete. A declaração de impressão da linha final mostrará que o soquete se conectou corretamente ao host do Google. Vamos salvar e executar nosso código no Spyder para ver o que temos em troca.

soquete de importação
Importar sistemas
tentar:
s = soquete.soquete (soquete.Af_inet, soquete.Sock_stream)
Imprimir ("Realizou a criação do soquete!")
exceto soquete.erro como e:
print ("Falha ao criar soquete, erro: %s" %(e))
p = 80
tentar:
HIP = soquete.Gethostbyname ('www.Google.com ')
exceto soquete.Gaierror:
Imprima ("Recebi erro ao resolver o host!")
sys.saída()
s.Connect ((Hip, P))
Print ("O soquete foi vinculado com sucesso ao Google… !")

Depois de executá -lo, recebemos as mensagens de sucesso em nossa tela de console do Spyder. A primeira mensagem foi mostrar que o soquete foi criado perfeitamente e a segunda linha mostrou que a conexão também foi estabelecida.

Exemplo 02

Um sistema de comunicação chamado UDP envia pacotes individuais através da Web sem garantias de entrega oportuna ou chegada garantida. A citação do dia é um serviço que emprega UDP (QOTD). Iniciamos este programa com a importação do módulo de soquete. Depois disso, estamos usando o gerenciador de contexto "com" para criar um novo soquete como "SOC" utilizando os parâmetros AF_INET e SOCK_DGRAM na função Socket () do módulo de soquete para criar um soquete de datagrama da família IPv4.

Depois disso, estamos usando a variável "texto" para inicializar uma mensagem vazia. O serviço QOTD opera passando informações aleatórias para o soquete; Quando entregamos uma mensagem em branco, apenas responde com uma cotação. Empregamos sequências binárias para comunicações TCP/UDP. O número da porta foi definido como 17 para receber dados de cotação. Temos usado o URL de um host e o número da porta para obter o endereço IP "ADR" do host específico. Este endereço "ADR" e a mensagem vazia "texto" foram passados ​​para a função sendto () do módulo de soquete com o objeto "SOC" para enviá -lo para o host específico.

A função "RECVFROM" é o método usado pelos soquetes UDP para recuperar informações. O tamanho do buffer serve como seu parâmetro. A resposta retornada é uma dupla (dados, endereço), no qual o parâmetro "endereço" é o identificador do soquete que entregou os dados, e o parâmetro "info" é uma sequência de bytes que contém os dados que foram obtidos. A declaração de impressão está usando a função "decodificar" para decodificar e exibir as informações que obtemos.

soquete de importação
com soquete.soquete (soquete.Af_inet, soquete.Sock_dgram) como SOC:
texto = b "
p = 17
ADR = ("DJXMMX.net ", p)
Soc.sendto (texto, ADR)
informação, endereço = SOC.recvfrom (1024)
Imprimir (informações.decodificar())

Quando executamos este programa, temos a cotação em troca.

Conclusão

Este artigo é sobre o uso da família Af_inet de módulos de soquete em Python. Tentamos dois exemplos para criar um soquete, conectá -lo ao host, enviar uma mensagem vazia e receber as citações do host.