1
resposta

[Dúvida] Como replicar alguma coisa através de uma conexão de rede

Eu gostaria de saber como faço para replicar algum objeto através de uma conexão de rede?? Me dê uns exemplos, please...

1 resposta

Opa Andre! Tudo bem?

Para replicar um objeto através de uma conexão de rede em Python, você pode utilizar bibliotecas como socket para a comunicação de rede e pickle para a serialização dos objetos. Vou te dar um exemplo simples para ilustrar isso e um artigo para ver mais afundo sobre Socket.

  1. Primeiro, vamos criar um servidor que vai receber um objeto e depois um cliente que vai enviar esse objeto para o servidor.

    Servidor (server.py)

    import socket
    import pickle
    
    # Configurações do servidor
    HOST = '127.0.0.1'  # Endereço IP do servidor
    PORT = 65432        # Porta que o servidor vai escutar
    
    # Criação do socket do servidor
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.bind((HOST, PORT))
        s.listen()
        print(f"Servidor escutando em {HOST}:{PORT}")
    
        conn, addr = s.accept()
        with conn:
            print(f"Conectado por {addr}")
            data = conn.recv(1024)
            if data:
                obj = pickle.loads(data)
                print(f"Objeto recebido: {obj}")
    

    Cliente (client.py)

    import socket
    import pickle
    
    # Configurações do cliente
    HOST = '127.0.0.1'  # Endereço IP do servidor
    PORT = 65432        # Porta do servidor
    
    # Objeto que queremos enviar
    obj = {'nome': 'Andre', 'idade': 30}
    
    # Serialização do objeto
    data = pickle.dumps(obj)
    
    # Criação do socket do cliente
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.connect((HOST, PORT))
        s.sendall(data)
        print("Objeto enviado!")
    
  2. Como executar:

    • Primeiro, execute o servidor:
      python server.py
      
    • Em seguida, execute o cliente em outra janela de terminal:
      python client.py
      

O servidor deve imprimir o objeto recebido, enviado pelo cliente.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.