O Exemplo de Redes Python
Por: Kívia Célia • 14/4/2020 • Dissertação • 861 Palavras (4 Páginas) • 212 Visualizações
Implementando Sockets
Este exemplo faz um programa cliente mandar uma mensagem ao programa servidor que repete a mensagem em maiúscula. Ambos programas se comunicam com sockets implementado em python usando a biblioteca:
socket
Para saber o ip da maquina que será servidor:
ipconfig /all |more
[pic 1]
Vai dando enter ate achar o ipv4
[pic 2]
Que neste caso é 192.168.0.4
Abrir o Visual Studio Code [pic 3]
- Copiar o arquivo servidor e em host colocar o endereço ip obtido. A porta 5000 é aleatória e é aconselhável usar qualquer porta acima de 1024 (serviços usam até esse número). Salvar como programa servidor.py. Tomar cuidado com a tabulação em Python, se não respeitar dá erro. Outro erro comum é o print que nas versões mais modernas de Python leva () e nas versões antigas não.
# servidor import socket
def Main(): host = '192.168.0.4' port = 5000
mySocket = socket.socket() mySocket.bind((host,port))
mySocket.listen(1) conn, addr = mySocket.accept() print ("Connection from: " + str(addr)) while True: data = conn.recv(1024).decode() if not data: break print ("from connected user: " + str(data))
data = str(data).upper() print ("sending: " + str(data)) conn.send(data.encode())
conn.close()
if __name__ == '__main__': Main() |
Copiar o seguinte programa cliente na máquina que fará de cliente:
# cliente
import socket
def Main():
host = '192.168.0.4'
port = 5000
mySocket = socket.socket()
mySocket.connect((host,port))
message = input(" -> ")
while message != 'q':
mySocket.send(message.encode())
data = mySocket.recv(1024).decode()
print ('Received from server: ' + data)
message = input(" -> ")
mySocket.close()
...