Advertisement
renix1

Client socket with flask (py 2.x)

Nov 17th, 2019
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.28 KB | None | 0 0
  1. # coding: utf-8
  2. #!/usr/bin/python
  3. from flask import Flask
  4. import socket
  5. import os
  6.  
  7.  
  8. app = Flask(__name__)
  9.  
  10. class Client:
  11.     def __init__(self, host, port):
  12.         self.__host = host
  13.         self.__port = port
  14.         self.sckt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  15.    
  16.     def start(self, data_to_send="Hello server!"):
  17.         self.sckt.connect((self.__host, self.__port))
  18.         self.sckt.sendall(data_to_send)
  19.         data = self.sckt.recv(1024)
  20.         self.sckt.close()
  21.         return repr(data)
  22.  
  23.  
  24. @app.route('/maquina_nova/<id_maquina>')
  25. def maquina_nova(id_maquina):
  26.     cliente = Client('', 12000)
  27.     cliente.start(id_maquina)
  28.     return "ID ----> {}".format(id_maquina)
  29.  
  30. @app.route('/maquinas')
  31. def maquinas():
  32.     data = load_data()
  33.     last = data.split('<br>')[-1]
  34.     return """<html>
  35.             <head>
  36.                 <meta http-equiv="refresh" content="3">
  37.             </head>
  38.             <body>
  39.                 <h1><span>Ultimo ID</span> {}</h1>
  40.                 <code>
  41.                     {}
  42.                 </code>
  43.             </body>
  44.             </html""".format(last, data)
  45.  
  46. def load_data():
  47.     data = []
  48.     if os.path.exists('ids_das_maquinas.dat'):
  49.         print(os.getcwd())
  50.         path = os.path.join(os.getcwd(), 'ids_das_maquinas.dat')
  51.         f = open(path, 'r')
  52.         print(os.path.exists(path))
  53.         return "<br>".join(f.readlines())
  54.     else:
  55.         return "Não existe nenhuma maquina cadastrada ainda!"
  56.        
  57. app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement