# Servidor de importación zócalo de importación El subproceso # Poder Teléfono = socket.socket (socket.AF_INET, socket.SOCK_STREAM) # ip vinculante, puerto phone.bind (( ' 127.0.0.1 ' , 8080 )) # monitor de phone.listen (5 ) # enlaces que circulan al mismo tiempo 1. : # de recibir un máximo de 1024 bytes Conn, addr = phone.accept (1024 ) # ciclo de comunicaciones al mismo tiempo 1. : # manejo de excepciones el try : Data = conn.recv (1024 ) # Unix no puede recibir vacío si len (datos) == 0: break res = subprocess.Popen (bata.decode ( ' gbk ' ), (codificación de caracteres predeterminada de Windows 'gbk') shell = True, stderr = subprocess.PIPE, stdout = subprocess.PIPE) resout = res.stdout.read () reserr = res.stderr.read () # Recibe una salida vacía debajo de Windows excepto Excepción: break conn.close () phone.close ()
# Cliente Importación zócalo Teléfono = socket.socket (socket.AF_INET, socket.SCOK_STREAM) # conexión phone.connect (( ' 127.0.0.1 ' , 8080 )) # salida cíclica del tiempo 1. : MSG = input ( ' Introduzca el comando> >> ' ) .strip () # no puede entrar en el vacío SI len (MSG) == 0: Continuar # Enviar mensaje phone.send (msg.encode ( ' GKB ' )) datos = phone.recv (1024 ) Imprimir (datos. decodificar ( 'GBK ' )) # Cerrar phone.close
Ejecuta el servidor y luego ejecuta el cliente (por supuesto, esto es para jugar contigo mismo), ingresa un comando dir para probar:
Bueno, ya está. .