Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Fyrox en 31 Agosto 2011, 17:11 pm



Título: Error en Python
Publicado por: Fyrox en 31 Agosto 2011, 17:11 pm
Saludos de nuevo, despues de un tiempo aprendiendo en Python, me he decidido a crear un pequeño chat, sin embargo obtengo un error al ejecutar el servidor.

Éste es el código:
Código
  1. #! /usr/bin/python
  2. #coding=utf-8
  3. import socket, sys
  4. from threading import Thread
  5.  
  6. clientlist = []
  7.  
  8. class Client(Thread):
  9. def __init__(self, clients):
  10. Thread.__init__(self)
  11. self.s = clients
  12. self.nick = ""
  13.  
  14. def conectar(self):
  15. self.s.send("Nick: ")
  16. nick = self.s.recv(1024)
  17. self.nick = nick.strip()
  18. clientlist.append(self.s)
  19.  
  20. def mensaje(self, buff):
  21. for index, clients in enumerate(clientlist):
  22. if self.s != clients:
  23. print (self.s == clients)
  24. msg = clients.send("%s dice: %s"%(self.nick,buff)
  25.  
  26.        def run(self):
  27. self.conectar()
  28. while True:
  29. buff = self.s.recv(2048)
  30. self.mensaje(buff)
  31.  
  32. servers = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  33. servers.bind(('',9000))
  34. servers.listen(5)
  35.  
  36. while True:
  37. (clients, addr) = servers.accept()
  38. ct = Client(clients)
  39. ct.start()
  40.  

Y este el error:

Código
  1. File "server.py", line 26
  2.    def run(self):
  3.      ^
  4. SyntaxError: invalid syntax
  5.  

Por más que miro no encuentro el fallo. Alguien me echa un cable? Gracias.

P.D.: como diablos se ponen spoilers aqui? xD


Título: Re: Error en Python
Publicado por: Novlucker en 31 Agosto 2011, 19:14 pm
Te falta un paréntesis de cierre en la línea del send, y no se puede poner spoilers :P

Saludos


Título: Re: Error en Python
Publicado por: Fyrox en 31 Agosto 2011, 20:04 pm
Joder voy a tener que mirar mas el codigo antes de postear... Gracias de nuevo!