delphi – 需要使用TIdTelnet与telnet服务器交互的示例/演示
发布时间:2020-12-15 09:22:34 所属栏目:大数据 来源:网络整理
导读:我试图将Indy 10.5.5(Delphi 2010附带)用于: 连接到telnet服务器 执行用户名/密码验证(获得对命令shell的访问权限) 执行命令,将结果数据返回给应用程序 而且没有成功,另外我完全迷失在Indy内部的意大利面逻辑中,现在不知道为什么它不起作用或者我应该如何将
我试图将Indy 10.5.5(Delphi 2010附带)用于:
>连接到telnet服务器 而且没有成功,另外我完全迷失在Indy内部的意大利面逻辑中,现在不知道为什么它不起作用或者我应该如何将字符串发送到服务器并获取结果.需要一些示例代码来研究. 问题的正式形式:我在哪里可以获得第三方贡献的演示,涵盖TIdTelnet组件? (indyproject.org演示网页没有) 解决方法
Telnet的主要问题是它不像大多数其他Internet协议那样使用命令/响应模型.任何一方都可以随时发送数据,并且每个方向的数据都与其他方向无关.这反映在TIdTelnet中,它运行内部读取线程来接收数据.因此,您不能像在其他Indy组件中那样简单地连接,发送命令和等待单个代码块中的响应.您必须编写命令,然后等待OnDataAvailable事件触发,然后解析数据以确定它实际是什么(并准备好处理可能接收到部分数据的情况,因为这就是TCP / IP的工作原理).
如果您要连接到实际实现命令/响应模型的服务器,那么最好直接使用TIdTCPClient而不是TIdTelnet(如果服务器确实使用Telnet,则手动实现任何Telnet序列解码,这在当今很少见但不是不可能).对于Indy 11,我们可能会重构TIdTelnet的逻辑以支持非线程版本,但尚未确定. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |