Hi All , I need to write some basic tcp client/server that communicate over SSL Its seems i managed to run the server side listen with SSL but i am missing the client part. If someone could advice me how to saet the client will be appreciated Thanks
Server side ============ class SingleTCPHandler(socketserver.BaseRequestHandler): "One instance per connection. Override handle(self) to customize action." def handle(self): try: #print(self.server.serverset) data = json.loads(self.request.recv(1024).decode('UTF-8').strip()) # process the data, i.e. print it: #print(self.client_address) print(data['AuthPass'],self.server.serverset['CryptKey'],self.server.serverset['Password']) Authstart = AuthMec(data['AuthPass'],self.server.serverset['CryptKey'],self.server.serverset['Password']) Authstart.DecPass() # send some 'ok' back #self.server.serverset['QuarantineIp'] self.request.sendall(bytes(json.dumps({'QuarantineIp':self.server.serverset['QuarantineIp'],'SERVERIP':self.client_address[0]}), 'UTF-8')) except Exception as e: print("Exception wile receiving message: ", e) class TcpSessionServer(socketserver.ThreadingMixIn, socketserver.TCPServer): # Ctrl-C will cleanly kill all spawned threads daemon_threads = True # much faster rebinding allow_reuse_address = True test = "test" def __init__(self, server_address, RequestHandlerClass): socketserver.TCPServer.__init__(self, server_address, RequestHandlerClass) self.socket = ssl.wrap_socket( self.socket, server_side=True, certfile="cert.pem",do_handshake_on_connect=False) #read configuraiton and seve it as class member serverinit = GetServerInfo() Clent Side =========== class TcpClientConnect: def __init__(self,Datapayload,EnforcementHost,SrvPort): self.Datapayload = Datapayload self.EnforcementHost = EnforcementHost self.SrvPort = SrvPort def ContactEnforcementHost(self): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((self.EnforcementHost, int(self.SrvPort))) s.send(bytes(json.dumps(self.Datapayload), 'UTF-8')) #Waiting for results result = s.recv(1024) txres = result.decode('UTF-8') print(txres) jsresult = json.loads(txres) print("%s"%jsresult) s.close() -- https://mail.python.org/mailman/listinfo/python-list