系统正在尝试连续多次远程登录到服务器。尝试 telnet 的进程是否有可能由于缓冲区溢出而崩溃?我的情况是一个循环中的 perl 程序在 10 秒内尝试 500 次打开 telnet 连接并关闭。
1571 次
3 回答
1
在 10 秒内 Telnet 500 次不应使您的客户端程序崩溃,但我怀疑您在服务器上的 telnet 和登录进程能否跟上这种连接速率。您需要想办法让 telnet 连接保持打开状态或切换到为轮询设计的协议,例如 SNMP。
话虽如此,您并没有指出您正在使用什么 Telnet 库或程序,因此肯定存在错误的可能性。
简而言之,我认为您的用例并不真正符合 Telnet 规范。
于 2009-04-09T04:41:17.197 回答
0
我们需要查看 Perl 程序(我假设你有它,否则你怎么知道它是 Perl)。
一种可能性是 Perl 脚本无法识别 telnet 守护程序提供的登录字符串,因此正在关闭连接并重试。
我不确定您为什么认为这是缓冲区溢出(除非您有我们没有的信息)。在我看来,如果 Perl(解释器,而不是脚本)发生缓冲区溢出,它只会崩溃并且不会重试(假设没有其他东西重试脚本)。
如果您认为您的脚本存在缓冲区溢出问题,我们需要再次查看它以帮助您解决问题。
于 2009-04-09T03:56:57.383 回答
0
为什么你不能让 telnet 连接保持打开状态?
我会只打开一个 telnet 连接并保持打开状态并使用它来发送和接收数据。如果在指定的超时时间内没有响应,则关闭它并再次打开它。
于 2009-10-29T08:16:42.857 回答