File size: 1,006 Bytes
1bdbce8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import socketserver

class TCPHandler(socketserver.StreamRequestHandler):
  """
  The request handler class for our server.

  It is instantiated once per connection to the server, and must
  override the handle() method to implement communication to the
  client.
    """

  def handle(self):
    # self.rfile is a file-like object created by the handler;
    # we can now use e.g. readline() instead of raw recv() calls
    self.bytes = self.rfile.read()
    self.data = self.bytes.decode("utf-8")
    with open("script.py", "w") as f:
      f.write(self.data)
    # Likewise, self.wfile is a file-like object used to write back
    # to the client
    self.wfile.write(self.bytes.upper())


if __name__ == "__main__":
  HOST, PORT = "localhost", 9999

  # Create the server, binding to localhost on port 9999
  with socketserver.TCPServer((HOST, PORT), TCPHandler) as server:
    # Activate the server; this will keep running until you
    # interrupt the program with Ctrl-C
    server.serve_forever()