Skip to content

Projeto de Comunicação Cliente-Servidor em Python com Socket TCP para solicitar data, hora e encerrar conexões.

Notifications You must be signed in to change notification settings

ana-athayde/socket_TPC_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Comunicação Cliente-Servidor com Socket TCP

Este é um projeto que envolve um cliente e um servidor implementados em Python, usando sockets TCP para comunicação. O servidor trata solicitações de clientes de acordo com as seguintes regras:

  • get_date: Retorna a data atual no formato "DD/MM/YYYY" em um JSON.
  • get_time: Retorna a hora atual no formato "HH:MM:SS" em um JSON.
  • Qualquer outra solicitação: Retorna a mensagem "Invalid Command!!!"

O servidor também exibe informações sobre o IP e a porta de origem dos clientes, bem como os dados enviados.

Servidor (Server.py)

Funcionalidade

O arquivo Server.py contém o código para um servidor que aceita conexões de clientes por meio de sockets TCP. Ele processa solicitações de clientes e responde de acordo com as regras definidas.

Funções

  1. import socket: Importa a biblioteca socket para trabalhar com comunicações de rede.

  2. import json: Importa a biblioteca json para lidar com a formatação e análise de dados JSON.

  3. import datetime: Importa a biblioteca datetime para obter informações de data e hora.

  4. date e time: Obtêm a data e a hora atuais em formatos específicos.

  5. HOST e PORT: Definem o endereço IP e a porta em que o servidor escutará conexões de clientes.

  6. socket.socket(socket.AF_INET, socket.SOCK_STREAM): Cria um objeto de soquete para comunicação TCP.

  7. s.bind((HOST, PORT)): Liga o servidor a um endereço e uma porta específicos.

  8. s.listen(): Aguarda a chegada de conexões de clientes.

  9. conn, addr = s.accept(): Aceita uma conexão de um cliente e obtém informações sobre o cliente.

  10. Processamento de solicitações: Com base nas solicitações recebidas, o servidor responde com a data atual, a hora atual ou uma mensagem de comando inválido. Ele também imprime o IP e a porta do cliente, bem como os dados enviados.

  11. Encerramento da conexão: O servidor permite ao cliente encerrar a conexão usando o comando exit.

Cliente (Client.py)

Funcionalidade

O arquivo Client.py contém o código para um cliente que se conecta a um servidor por meio de sockets TCP. Ele permite ao usuário enviar comandos específicos ao servidor e receber respostas.

Funções

  1. import socket: Importa a biblioteca socket para trabalhar com comunicações de rede.

  2. import json: Importa a biblioteca json para lidar com a formatação e análise de dados JSON.

  3. HOST e PORT: Definem o endereço IP e a porta do servidor ao qual o cliente se conectará.

  4. socket.socket(socket.AF_INET, socket.SOCK_STREAM): Cria um objeto de soquete para comunicação TCP.

  5. s.connect((HOST, PORT)): Estabelece uma conexão com o servidor usando o endereço IP e a porta especificados.

  6. req = input("Digite sua requisicao"): Solicita que o usuário insira uma requisição.

  7. s.sendall(bytes(req,"utf-8")): Envia a requisição ao servidor após convertê-la em bytes.

  8. data = s.recv(1024): Recebe dados do servidor (até 1024 bytes).

  9. recieved_data = (data.decode('utf-8')): Decodifica os dados recebidos de volta em uma representação de string.

  10. Processamento de dados: Verifica se os dados recebidos representam um JSON válido e os imprime.

Lembre-se de que essas explicações fornecem uma visão geral das funções em ambos os arquivos. Cada arquivo contém um conjunto de instruções que implementam essas funcionalidades.

Autor

Ana Athayde

About

Projeto de Comunicação Cliente-Servidor em Python com Socket TCP para solicitar data, hora e encerrar conexões.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages