Ver Mensaje Individual
  #7 (permalink)  
Antiguo 09/10/2011, 04:11
xaps
 
Fecha de Ingreso: septiembre-2011
Mensajes: 4
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema con Python - Sockets

Bueno al final he conseguido arreglar el codigo! :) Muchas gracias por haberme ayudado :) Por si a alguien le interesa, os pongo los codigos cliente servidor :D

Cliente:
Código Python:
Ver original
  1. import socket
  2. import time
  3.  
  4. s = socket.socket()
  5. s.connect((socket.gethostname(), 4545))
  6.  
  7.  
  8. def body():
  9.     time.sleep(2)
  10.     contrasena = raw_input("Escribe la contrasena: ")
  11.     s.send(contrasena)
  12.     recibido = s.recv(1024)
  13.     if recibido == "correcto":
  14.         print "Contrasena correcta"
  15.         time.sleep(2)
  16.         accion = raw_input("Escribe la accion: ")
  17.         s.send(accion)
  18.         if accion == "cmd":
  19.             finalizar = "stop"
  20.             comandos = ""
  21.             while comandos != finalizar:
  22.                 time.sleep(2)
  23.                 comandos = raw_input("Escribe los comandos: ")
  24.                 s.send(comandos)
  25.     else:
  26.         s.close()
  27.  
  28.  
  29. class mainprog:
  30.     body()

Servidor:
Código Python:
Ver original
  1. import socket
  2. import os
  3. import time
  4.  
  5. s = socket.socket()
  6. s.bind((socket.gethostname(), 4545))
  7. s.listen(1)
  8. while True:
  9.     sc, addr = s.accept()
  10.     print "Se ha conectado: ", addr
  11.     recibido = sc.recv(1024)
  12.     time.sleep(2)
  13.     if recibido == "123456":
  14.         print "Contrasena correcta"
  15.         sc.send("correcto")
  16.     else:
  17.         sc.send("incorrecto")
  18.  
  19.     accion = sc.recv(1024)
  20.     if accion == "cmd":
  21.         print "cmd seleccionado"
  22.         finalizar = "stop"
  23.         comando = ""
  24.         while comando != finalizar:
  25.             comando = sc.recv(1024)
  26.             os.system(comando)

El codigo no está terminado, le faltan muchos detalles, pero las funciones principales que eran las de contraseña y control por cmd ya funcionan perfectamente :D