J'essaye de créer un serveur telnet mockup (pour certains tests fonctionnels du code existant). En ce moment j'ai seulement modifié le message de bienvenue de serveur et j'essayais de lire ce message using le code de client, mais la méthode de lecture échoue sur le délai d'attente sans information additionnelle. Mais avec pudb débogueur activé, il fonctionne la plupart du temps ...L'exemple simple client/serveur python telnet ne fonctionne pas
J'utilise virtualenv, avec pudb et telnetsrv installé en utilisant pip. Python 2.7.12, Ubuntu 16.04.
Code Serveur:
import SocketServer
from telnetsrv.threaded import TelnetHandler
class MyHandler(TelnetHandler):
WELCOME = "HI from custom server"
class TelnetServer(SocketServer.TCPServer):
allow_reuse_address = True
server = TelnetServer(("0.0.0.0", 8023), MyHandler)
server.serve_forever()
code Client:
import telnetlib
HOST = '127.0.0.1'
PORT = 8023
# from pudb import set_trace; set_trace()
tn = telnetlib.Telnet(HOST, PORT)
data = tn.read_until("custom server", timeout=1)
print "Data: " + data
tn.close()
sortie du client:
$ python client.py
Data:
sortie client avec PUDB activé (avec l'exécution pas-à-pas)
$ python client.py
Data: HI from custom server
Bien sûr, quand j'exécute la commande telnet shell, tout fonctionne très bien:
$ telnet 127.0.0.1 8023
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
HI from custom server
Telnet Server>
J'apprécierais vraiment des conseils sur la façon de déboguer ce problème. Merci!