I try to run example from : https://docs.python.org/3/library/socketserver.html#socketserver-tcpserver-example in my laptop but it didn't work.
Server :
import socketserverclass MyTCPHandler(socketserver.BaseRequestHandler):"""The request handler class for our server.It is instantiated once per connection to the server, and mustoverride the handle() method to implement communication to theclient."""def handle(self):# self.request is the TCP socket connected to the clientself.data = self.request.recv(1024).strip()print("{} wrote:".format(self.client_address[0]))print(self.data)# just send back the same data, but upper-casedself.request.sendall(self.data.upper())if __name__ == "__main__":HOST, PORT = "localhost", 9999# Create the server, binding to localhost on port 9999with socketserver.TCPServer((HOST, PORT), MyTCPHandler) as server:# Activate the server; this will keep running until you# interrupt the program with Ctrl-Cserver.serve_forever()
Client :
import socket
import sysHOST, PORT = "localhost", 9999
data = " ".join(sys.argv[1:])# Create a socket (SOCK_STREAM means a TCP socket)
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:# Connect to server and send datasock.connect((HOST, PORT))sock.sendall(bytes(data + "\n", "utf-8"))# Receive data from the server and shut downreceived = str(sock.recv(1024), "utf-8")print("Sent: {}".format(data))
print("Received: {}".format(received))
This error is showing on both client and server site :
Traceback (most recent call last):File "C:\Users\Win7_Lab\Desktop\testcl.py", line 8, in <module>with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
AttributeError: __exit__
[Finished in 0.1s with exit code 1]
[shell_cmd: python -u "C:\Users\Win7_Lab\Desktop\testcl.py"]
[dir: C:\Users\Win7_Lab\Desktop]
[path: C:\Python27\;C:\Python27\Scripts;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\]