系统正在尝试连续多次telnet到服务器。尝试telnet的进程是否有可能因缓冲区溢出而崩溃?我的情况是循环中的perl程序在10秒内尝试500次打开telnet连接并关闭。
答案 0 :(得分:1)
在10秒内Telnetting 500次不会导致客户端程序崩溃,但我怀疑服务器上的telnet和登录进程是否可以跟上这种连接速率。您需要找到一种方法来打开telnet连接或切换到专为轮询设计的协议,例如SNMP。
所有这一切,你没有说明你正在使用的Telnet库或程序,所以可能存在错误的可能性。
简而言之,我不认为您的用例确实符合Telnet规范。
答案 1 :(得分:0)
我们需要看Perl程序(我假设你有它,否则你怎么知道它是Perl)。
一种可能性是Perl脚本无法识别telnet守护程序提供的登录字符串,因此正在关闭连接并重试。
我不确定为什么你认为它是缓冲区溢出(除非你有我们没有的信息)。在我看来,如果Perl(解释器,而不是脚本)有缓冲区溢出,它只会崩溃并且不会重试(假设没有其他东西重试脚本)。
如果您认为您的脚本存在缓冲区溢出问题,我们需要再次看到它来帮助您解决问题。
答案 2 :(得分:0)
为什么不能让telnet连接保持打开状态?
我只打开一个telnet连接并将其打开并使用它来发送和接收数据。如果在指定的超时内没有响应而不是关闭它并再次打开它。