通过网页

时间:2017-01-09 09:50:08

标签: angularjs node.js sockets websocket telnet

我是telnet和套接字的新手,现在我对它的概念感到困惑。所以我可以在这里使用一些帮助。

到目前为止,我已经使用 Node.js的 net 创建了一个简单的telnet服务器。这是一个小片段,

function newSocket(socket) {
  sockets.push(socket);
  console.log('A new telnet connection!\n');
  socket.on('data', function(data) {
  });
  socket.on('end', function() {
    console.log('A Telnet socket disconnected!\n');
  });
}

var telnetServer = net.createServer(newSocket);
telnetServer.listen(8080); 

它完全适用于使用命令

telnet localhost 8080

而且我知道我可以使用NodeJS的 net 包连接到它,就像这样

var client = net.connect({port: port}, function() {
    console.log('client connected');
    client.write('data!\r\n');
});

所以,我想做的是从客户端应用程序(AngularJS)连接到这个telnet服务器,如果可能的话。

我知道如何使用 $ websocket 服务从AngularJS应用程序连接到Web套接字,就像这样,

      $websocket.$new({
        url: websocketUrl,
        protocols: [],
        subprotocols: ['base46'],
        reconnect: true,
        reconnectInterval: 500
      });

所以,我的问题是:

  • 我可以从客户端连接到telnet服务器吗?我的意思是,甚至可以像使用网络套接字一样从网络浏览器连接到telnet吗?
  • 如果是的话,你能告诉我某种代码片段吗?
  • 网络套接字是否比Telnet更好?

我知道这些问题听起来很愚蠢,但就像我说我刚刚开始挖掘这些事情一样。 谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

在网上浏览各种文档后,我得到了答案。由于还没有答案(截至撰写本文时),我发帖,我发现了一个,我自己。

首先,我的问题的答案

  

我可以从客户端连接到telnet服务器吗?我的意思是它是均匀的   可以像我们一样从网络浏览器连接到telnet   网络套接字?

不,telnet是服务器的协议,而不是客户端和服务器之间的某种通信方式。这是我最大的困惑,这促使我在这里提出这个问题。

  

如果是的话,你能告诉我某种代码片段吗?

嗯,我们不能,所以没有摘录。

  

Web套接字是否比Telnet更好?

两者都不同,所以没有比较。

<强>解决方案

所以我做的是,我用了

  • 用于托管telnet(telnet服务器)的服务器
  • 另一个用于Web套接字的服务器(telnet客户端)
  • 客户端(webview)

通过这种方法,我建立了 telnet websockets 之间的连接(我首先需要它),两者都托管在不同的服务器上,服务器它正在侦听web-socket,充当telnet客户端。