【发布时间】:2018-03-26 09:47:40
【问题描述】:
我的要求是从 node js 连接到 Telnet 客户端。
我正在使用telnet-client 包
我正在使用此代码进行连接
var Telnet = require('telnet-client')
var connection = new Telnet()
var params = {
host: '127.0.0.1',
port: 23,
shellPrompt: '/ # ',
timeout: 1500,
// removeEcho: 4
}
connection.on('ready', function(prompt) {
connection.exec(cmd, function(err, response) {
console.log(response)
})
})
connection.on('timeout', function() {
console.log('socket timeout!')
connection.end()
})
connection.on('close', function() {
console.log('connection closed')
})
connection.connect(params)`
但它总是返回“套接字超时!”在控制台中。
我还尝试在参数中添加“用户名”和“密码”详细信息
`var params = {
host: '127.0.0.1',
port: 23,
shellPrompt: '/ #',
loginPrompt: 'Username: ',
passwordPrompt: 'Password: ',
username: 'vinit',
password: 'vinit123',
initialLFCR: true,
timeout: 1500,
// removeEcho: 4
}`
但仍然面临同样的问题。在某些链接中,我发现人们说shellPrompt 的值不正确,那么shellPrompt 的值应该是多少。实际上我对这个话题完全陌生,所以对它没有太多想法。
任何帮助将不胜感激。提前致谢。
【问题讨论】:
-
您是否尝试更改超时值?
-
@hasbi 是的,我尝试将其更改为 10000 但仍然显示相同的结果。
-
你能做到-1吗?
-
我无法将其设置为负数。在将其设置为 -1 时,我收到此错误“未处理的拒绝 RangeError:“msecs”参数必须是非负有限数...... ……”
-
您能否添加回调以记录“连接”事件。这应该告诉您是否以及何时建立 TCP 连接。