38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
import SocketServer
|
|
|
|
class MyTCPHandler(SocketServer.BaseRequestHandler):
|
|
"""
|
|
The RequestHandler 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.request is the TCP socket connected to the client
|
|
self.data = self.request.recv(1024).strip()
|
|
print("{} wrote:".format(self.client_address[0]))
|
|
print(self.data)
|
|
# just send back the same data, but upper-cased
|
|
self.request.sendall(self.data.upper())
|
|
|
|
# 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.data = self.rfile.readline().strip()
|
|
# print("{} wrote:".format(self.client_address[0]))
|
|
# print(self.data)
|
|
# Likewise, self.wfile is a file-like object used to write back
|
|
# to the client
|
|
# self.wfile.write(self.data.upper())
|
|
|
|
if __name__ == "__main__":
|
|
HOST, PORT = "localhost", 10000
|
|
|
|
# Create the server, binding to localhost on port 9999
|
|
server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)
|
|
|
|
# Activate the server; this will keep running until you
|
|
# interrupt the program with Ctrl-C
|
|
server.serve_forever() |