Primero abrir puertos del server
- Básicamente en Ubuntu server es muy sencillo
- $ sudo ufw allow xxxx/udp
Segundo crear el archivo de python servidor multihilos. se hace con el siguiente script
import SocketServer, threading, time
class ThreadedUDPRequestHandler(SocketServer.BaseRequestHandler):
def handle(self):
data = self.request[0].strip()
socket = self.request[1]
current_thread = threading.current_thread()
print("{}: El cliente : {}, Escribio: {}".format(current_thread.name, self.client_address, data) + "\n")
socket.sendto(data.upper(), self.client_address)
igniwebDictionary = {'mensaje': data,
'cliente': format(self.client_address)}
# print(igniwebDictionary)
with open('trazaOjodeDios.txt', 'a+') as f:
f.write(format(igniwebDictionary)+"\n")
class ThreadedUDPServer(SocketServer.ThreadingMixIn, SocketServer.UDPServer):
pass
if __name__ == "__main__":
HOST, PORT = "ipserver", port
server = ThreadedUDPServer((HOST, PORT), ThreadedUDPRequestHandler)
server_thread = threading.Thread(target=server.serve_forever)
server_thread.daemon = True
try:
server_thread.start()
print("Server started at {} port {}".format(HOST, PORT))
while True: time.sleep(100)
except (KeyboardInterrupt, SystemExit):
server.shutdown()
server.server_close()
exit()
Tercero probar que este abierto, esto lo hacemos con el siguiente script
import socket
#from jsonsocket import Client
# Create a UDP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_address = ('ipserver', port)
message = b'Es un hecho establecido hace demasiado tiempo que un lector se distraer con el contenido del texto de un sitio mientras que mira su diseno. El punto de usar Lorem Ipsum es que tiene una distribucion mas o menos normal de las letras, al contrario de usar textos como por ejemplo'
try:
# Send data
print('Enviando {!r}'.format(message))
sent = sock.sendto(message, server_address)
# Receive response
print('Esperando para recibir')
data, server = sock.recvfrom(4096)
print('Recibido {!r}'.format(data))
finally:
print('Cerrando socket')
sock.close()


0 Comentarios