我是telnet和套接字的新手,现在我对它的概念感到困惑 . 所以我可以在这里使用一些帮助 .
到目前为止,我已经使用Node.js的package 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的网络包连接到它,就像这样
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
});
所以,我的问题是:
-
Can I connect to telnet server from client-side? I mean is it even possible to connect to telnet from web browser like we do with web-sockets?
-
If yes, can you show me some kind of snippet for that?
-
Are web-sockets are better option than Telnet?
我知道这些问题听起来很愚蠢,但就像我说我刚刚开始挖掘这些东西一样 . 谢谢你的时间 .
1 回答
在线浏览各种文档后,我得到了答案 . 由于目前还没有答案(截至撰写本文时),我发帖,我发现了一个,我自己 .
First of all, Answers of my Questions
不,telnet是服务器的协议,而不是客户端和服务器之间的某种通信方式 . 这是我最大的困惑,这促使我在这里提出这个问题 .
好吧,我们不能,所以没有代码片段 .
两者都不同,所以没有比较 .
Solution
所以我做的是,我用过
托管telnet的服务器(telnet服务器)
另一个用于web套接字的服务器(telnet客户端)
客户端(webview)
因此,通过这种方法,我 Build 了telnet和websockets之间的连接(我首先需要它),两者都托管在不同的服务器上,并且正在监听web-socket的服务器充当telnet客户端 .