Can';t从Node.js连接到Telnet服务器 我有一个嵌入在C++应用程序中的telnet服务器,我可以连接到没有问题。 使用telnet

Can';t从Node.js连接到Telnet服务器 我有一个嵌入在C++应用程序中的telnet服务器,我可以连接到没有问题。 使用telnet,node.js,networking,telnet,Node.js,Networking,Telnet,我想写一个节点应用程序,将连接到我的服务器,我已经尝试 这个 不幸的是,我得到的是这个 > node test.js { [Error: connect ECONNREFUSED] code: 'ECONNREFUSED', errno: 'ECONNREFUSED', syscall: 'connect' } 真正奇怪的是,如果我设置了一个简单的echo服务器,所有节点都可以工作 好的以下是正在工作的echo服务器代码: var net = require('net');

我想写一个节点应用程序,将连接到我的服务器,我已经尝试 这个

不幸的是,我得到的是这个

> node test.js
{ [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect' }
真正奇怪的是,如果我设置了一个简单的echo服务器,所有节点都可以工作 好的以下是正在工作的echo服务器代码:

var net = require('net');

var server = net.createServer(function (socket) {
  socket.write('Echo server\r\n');
  socket.pipe(socket);
});

server.listen(6502, '127.0.0.1');
从中我得到了

Sending data
received data
Echo server
hello
是否有任何理由:

  • 我可以远程登录我的应用程序
  • 我可以从节点连接到同一端口上的节点回显服务器
  • 如果我从节点应用程序连接到应用程序,则连接被拒绝
额外信息
  • 关于OSX(小牛)
  • 节点版本0.10.28
  • C++中的telnet服务器是通过嵌入式Lua和LuasoCKET(Lua 5.1)
  • 提供的
看起来您忘了告诉服务器侦听代码。它抛出连接被拒绝错误,因为没有要连接的内容


在末尾添加:
server.listen(端口)

net.connect的原型是(选项,回调) 看

然后,我建议您针对标准telnet服务器测试代码,看看它的行为如何,最后我强烈建议使用jshint或jslint。

解决了

问题是我的应用服务器中的代码绑定到localhost,并且默认情况下 绑定到::1的IPV6地址的

将主机localhost传递到net.connect时采用IPV4,不起作用

mac命令行telnet和nc都可以很好地处理这个问题,并且连接正确

两种解决方案:

  • 应用程序绑定到127.0.0.1,节点中的localhost工作正常
  • 在test.js中将主机地址设置为::1,并通过ipv6连接
但现在已全部修复:)


<> > Gas

当您成功连接到C++ telnet服务器时,使用的是 telnet < /Cuth>命令行?RLCONTEL telnet本地主机6502NET.Connect是多态的,NET。Connect(端口,[主机],[ Connect ListNe] ]也起作用。在链接到的页面上向下滚动一点:)我没有尝试创建侦听的服务器。我正在尝试从节点连接到一个已经运行的服务器,并且可以使用命令行telnetThanks进行共享!
Sending data
received data
Echo server
hello