作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个嵌入在 C++ 应用程序中的 telnet 服务器,我可以毫无问题地连接到它使用远程登录。
我想编写一个连接到我的服务器的 Node 应用程序,我已经尝试过了这个
var net = require('net');
var port = 6502
var host = '127.0.0.1'
var socket = net.connect(port,host, function() {
console.log("Sending data");
socket.write("hello\r\n")
socket.on("data", function (data) {
console.log("received data");
console.log( data.toString() );
socket.end();
})
})
socket.on("error", function(err) {
console.log("Error");
console.log(err);
})
不幸的是我得到的是这个
> node test.js
{ [Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect' }
真正奇怪的是,如果我用 Node 设置一个简单的回显服务器,一切正常美好的。这是有效的回显服务器代码:
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
有什么原因吗:
最佳答案
解决了!
问题是我的应用程序服务器中的代码默认绑定(bind)到本地主机绑定(bind)到::1 的 IPV6 地址
将 localhost 的主机传递给 net.connect 假定 IPV4 并且不起作用。
mac 命令行 telnet 和 nc 都可以正常工作并正确连接。
两种解决方案:
虽然现在都已修复 :)
煤气
关于node.js - 无法从 Node.js 连接到 Telnet 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23590465/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!