我正在尝试创建telnet服务器模型(用于对现有代码进行一些功能测试)。现在我只修改了服务器欢迎消息,并且我试图使用客户端代码来读取此消息,但是它的读取方法在超时时失败,没有其他信息。但是在启用了pudb调试器后,它大部分时间都能工作。。。在
我使用的是virtualenv,使用pip安装了pudb和telnetsrv。Python2.7.12,ubuntu 16.04。在
服务器代码:
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()
客户代码:
^{pr2}$客户端输出:
$ python client.py
Data:
启用pudb的客户端输出(逐步执行)
$ python client.py
Data: HI from custom server
当然,当我执行shell telnet命令时,一切正常:
$ 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>
如果您能给我一些关于如何调试这个问题的提示,我将不胜感激。谢谢!在
一定要有真正的联系。为此,请编辑代码以添加tn.set_调试级别(100)放入脚本中,如下所示:
这将确保所有的数据都被打印出来,这样你就可以看到发生了什么。在
我的理论是,你没有连接,或者你的数据实际上没有输出“自定义服务器”,因此它不会捕捉到它,或者你的超时太低。在
相关问题 更多 >
编程相关推荐