class Networking():
def __init__(self, window, username, server, port):
self.window = window
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.connect((server, port))
self.listening = True
self.send("USERNAME {0}".format(username))
def listener(self):
while self.listening:
data = ""
try:
data = self.socket.recv(443)
except socket.error:
"impossible de recevoir les donnes"
self.handle_msg(data)
time.sleep(0.1)
def listen(self):
self.listen_thread = threading.Thread(target=self.listener)
self.listener_thread.daemon = True
self.listen_thread.start()
def send(self, message):
print "envoie: {0}".format(message)
try:
self.socket.sendall(message)
except socket.error:
print "impossible d'envoyer le message"
def tidy_up(self):
self.listening = False
self.socket.close()
gobject.idle_add(self.window.add_text, "server a quitter.\n")
def handle_msg(self, data):
if data == "QUIT":
self.tidy_up()
elif data == "":
self.tidy_up()
else:
gobject.idle_add(self.window.add_text, data)
if __name__ == "__main__":
MainWindow()
gtk.main()
et voici mon erreur:
Traceback (most recent call last):
File "./IM-Client.py", line 117, in <module>
MainWindow()
File "./IM-Client.py", line 34, in __init__
self.configure()
File "./IM-Client.py", line 58, in configure
regex = re.search('^(\d+\.\d+\.\d+\.\d+):(\d+)$', server)
File "/usr/lib/python2.7/re.py", line 146, in search
return _compile(pattern, flags).search(string)
TypeError: expected string or buffer
C est une boîte de dialogue dans laquel je met l'adresse du serveur ainsi que le port. Lorsque je clique sur connect le programme plante et m'affiche le message d'erreur ci dessus
Effectivement c est bien reponse_text, j avait fait des tests mais j ai oublier de remettre le text, mais le problème reste toujours présent même avec le _text après...
Ça y est j ai réussi mais ne me demandez comment j ai fait je 'e le sait pas moi même...
Mais j ai encore un autre problème... (voir photo)
Si vous pourriez encore me filer un coup de main ce serait vraiment sympas...
Moi, je dirai que ce n'est pas response que ask_for_info doit retourner, mais response_text.
D'ailleurs, tu auras aussi un plantage si ta méthode retourne None.
Mais j ai encore un autre problème... (voir photo)
Si vous pourriez encore me filer un coup de main ce serait vraiment sympas...