Skip to content

Os sockets fornecem comunicação entre duas extremidades (origem e destino). Na rede, os sockets são representados por IP:PORT (por exemplo, 127.0.0.1:1026(IPv4). Os sockets que usam a rede são sockets TCP/IP.

Notifications You must be signed in to change notification settings

VictorSantana100/Socket-TCP-IP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Documentação socket de rede TCP

************* COMO USAR ******************

Para usar esses sockets é bem simples primeiro execute o socket:

  • servidor_Socke.py

para o servidor ficar escutando, ou seja, esperando que o cliente estabeleça a comunicação

depois execute o socket:

  • cliente_socke.py

e envie sua mensagem

Para executar esses programas pelo terminal é simples, basta usar os comandos:

Para o servidor_Socke.py

chmod 744 servidor_Socke.py # para dá permissão ./servidor_Socke.py # para executar

Para o cliente_socke.py

chmod 744 cliente_socke.py # para dá permissão ./cliente_socke.py # para executar

Funcionamento do software

  • Primeiro, o servidor precisa criar um socket especificando qual o tipo de endereço(IPV4/IPV6) será usado e o tipo de socket (TCP/UDP) serv_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

  • Após o passo anterior, é preciso vinculado o IP com uma porta, esse processo é feito atráves do método bind serv_socket.bind(addr)

  • Depois, o servidor deve entrar no modo de escuta, ou seja, espera que um cliente inicie a comunicação serv_socket.listen(3)

  • O servidor também deve aceitar a comunicação quando ela for feita conn, cliente = serv_socket.accept()

  • O cliente também irá criar um socket client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

  • E irá solicitar a conexão com o servidor client_socket.connect_ex(addr)

  • Cliente envia dados client_socket.sendall(str.encode(mensagem))

  • Servidor lê os bytes até um tamanho definido data = conn.recv(1024)

  • Devolve dados para o cliente conn.sendall(data)

  • O cliente Lê os bytes até um tamanho definido data = client_socket.recv(1024)

  • Servidor termina a conexão conn.close()

Propósito do software, motivação da escolha do protocolo de transporte e os requisitos mínimos de funcionamento

Os Sockets são empregados para o envio de mensagens através de uma rede. São uma das formas mais comum de IPC -Inter-Process Communication.As aplicações mais comuns para sockets são aplicações cliente-servidor, nas quais um servidor espera por conexões de clientes. Nesse caso, será criado um socket tcp, pois com o socket tcp os dados são enviados sem erros ou duplicação, e recebidos na mesma ordem em que foram enviados. Para que a comunicação aconteça, é necessário ter um serviço com o papel de servidor e outro com o papel do cliente. O servidor deve ficar ouvindo, ou seja, no estado de aguardo por alguma solicitação de clientes que desejam se comunicar. E o cliente será o responsável por iniciar a comunicação com o servidor. Dessa forma, é possível notar que um dos requisitos mínimos para estabelecer uma comunicação é ter um servidor, esperando por uma solicitação de comunicação e um cliente para iniciar a comunicação.

Protocolo da camada de aplicação HTTP

O HTTP - protocolo de transferência de hipertexto é um protocolo da camada de aplicação, responsável pela transmissão de documentos de hipermídia, como o HTML. Sempre que você abre o seu navegador e digita o endereço de alguma página Web, por exemplo: (wwww.google.com.br), um Socket é criado pelo navegador. Neste caso, você é o Cliente e o computador em que a página Web está armazenada é o Servidor. Nesse contexto, o usuário final (você) não tem ciência de um conjunto de etapas que ocorre internamente dentro do sistema operacional (Windows/Linux/Mac) do Servidor e do Cliente. No nível da camada de aplicação, geralmente o navegador faz uma comunicação usando o protocolo HTTP ou HTTPS. Estes permitem a obtenção de recursos, tais como documentos HTML que são a base de toda página Web. Neste ponto, é importante dizer que cada protocolo da camada de aplicação tem associado a ele uma porta padrão de operação, no caso do protocolo HTTP a porta 80 é o padrão universal, no HTTPS temos a porta 443, o FTP tem a porta 23, etc. Na sequência (Camada de Transporte), escolhe-se como a comunicação irá tratar a entrega de dados. Neste caso, se usar TCP temos a garantia de que nenhuma parte dos dados transmitidos serão perdidos.

About

Os sockets fornecem comunicação entre duas extremidades (origem e destino). Na rede, os sockets são representados por IP:PORT (por exemplo, 127.0.0.1:1026(IPv4). Os sockets que usam a rede são sockets TCP/IP.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages