如何使用socket.io从节点连接到telnet服务器

时间:2014-07-01 03:12:47

标签: node.js socket.io

我可能没有输入正确的搜索词,但我似乎找不到允许我的节点应用程序启动与另一个telnet服务器(非节点)的socket.io客户端连接的好示例。

以下是我尝试连接到telnet服务器的节点应用程序

var ioc = require('socket.io-client'),
clientSocket = ioc.connect('192.168.1.97', {
    port: 23
});
clientSocket.on('connect', function(){
  console.log('connected to to telnet');
});
clientSocket.on('connect_error', function(data){
  console.log('connection error to telnet');
  console.log(data);
});
clientSocket.on('connect_timeout', function(data){
  console.log('connection timeout to telnet');
  console.log(data);
});

这是我得到的错误

connection error to telnet
timeout
connection timeout to telnet
20000

我已经从终端成功直接telnet到telnet服务器。代码不好?

2 个答案:

答案 0 :(得分:14)

你不能。

Socket.IO与常规TCP网络套接字无关。 Socket.IO是一个RPC层,通过多个传输(Web套接字,长轮询AJAX等)提供类似Web套接字的功能。您不能只连接到任何所需的服务器,您必须连接到Socket.IO服务器。甚至Web Sockets本身也有一个建立在HTTP之上的完整协议,必须设置它。

如果要连接到任意服务器以发送/接收数据,则必须通过Node.js应用程序在服务器端代理该连接。 Socket.IO仅用于Socket.IO客户端和Socket.IO服务器之间的通信。

答案 1 :(得分:1)

不确定是否可以这样做,但看看这个包

https://www.npmjs.org/package/node-telnet-client