The UDP server:
# -*- coding: utf-8 -*-
#!/usr/bin/python3
#server UDP
from socket import *
def main():
# Cria host e port number
host = ""
port = 5000
# Cria socket #UDP
server = socket(AF_INET, SOCK_DGRAM)
# Indica que o servidor foi iniciado
print("Servidor iniciado")
# Bloco infinito do servidor
while True:
# Recebe a data e o endereço da conexão
print("server.recvfrom(1024)",server.recvfrom(1024))
data, endereço = server.recvfrom(1024)
# Imprime as informações da conexão
print("Menssagem recebida de", str(endereço))
print("Recebemos do cliente:", str(data))
# Vamos mandar de volta a menssagem em eco
resposta = "Eco=>" + str(data)
server.sendto(data, endereço)
# Fechamos o servidor
server.close()
if __name__ == '__main__':
main()
The UDP client:
# -*- coding: utf-8 -*-
#!/usr/bin/python3
#client UDP
from socket import *
def main():
# Cria host e port number
host = "localhost"
port = 5000
# O servidor será um par endereço e port
server = (host, port)
# Criamos o socket
sock = socket(AF_INET, SOCK_DGRAM)
sock.bind((host, port))
# Vamos mandar mensagem enquanto a mensagem for diferente de sair (s)
msg = input("-> ")
while msg != 's':
# Mandamos a mensagem através da conexão
sock.sendto(msg.encode(), server)
# Recebemos uma resposta do servidor
data, endereco = sock.recvfrom(1024)
# Imprimimos a mensagem recebida
print("Recebida ->", str(data))
# Podemos mandar mais mensagens
msg = input("-> ")
# Fechamos a conexão
sock.close()
if __name__ == '__main__':
main()
The codes are working but I am not sure what is the server or the client: Difference between UDP server and UDP client: sock.bind((host, port)) is on the client or server side?