我刚刚用Node.js实现了什么?

时间:2016-11-30 19:50:45

标签: javascript node.js ssh socket.io

我正在关注这个tutorial,我感到困惑的是:

” ... 令人惊讶的是,代码非常简单:“

@Html.JQueryUI().Datepicker("StartDate", DateTime.Now, new { @class = "form-control" })

我不确定将此代码放在何处。我试着将它添加到浏览器JS中,如下所示:

// Connect to the socket.io server
var socket = io.connect('http://localhost:8080');
// Wait for data from the server
socket.on('output', function (data) {
   ...

它有效!它是否正确?我认为这是一个服务器端代码。

无论如何,现在我得到了一个可以与之互动的终端。但我不确定它在做什么。我试图实现一个SSH客户端,但看起来我获得了一个浏览器终端,我将通过它手动连接到SSH?

另外我相信这只适用于本地机器。但我想要的是一个可以使用SSH访问我的机器的远程Web服务器(虽然它可能不是很安全)。我是朝着正确的方向吗?如何在我的机器上实现充当SSH服务器客户端的Web服务器?

谢谢,

3 个答案:

答案 0 :(得分:1)

它与SSH在任何方式,形状或形式上都没有任何关系。 它是一个websocket服务器/客户端,允许您在浏览器和服务器之间发送消息(而不是命令)。

它最常用于聊天应用,尽管还有其他无穷无尽的用途。

但是,使用此机制,您可以解释服务器上的某些消息,并使它们执行您希望允许用户使用的命令。

它如何工作的快速示例(服务器端):

socket.on('ls',(path,cb)=>{
    fs.readdir(path, (err, files) => {
        cb(files);
    });
});

并在客户端:

socket.emit('ls','/home',(files)=>{
    console.log(files);
};

这里的客户发出了一个''事件,路径(用户选择或某事物);并且服务器解释此消息,获取给定路径的文件列表,并将其返回给客户端。该机制可用于实现各种命令。但请记住,这不是SSH。

Read more on Socket.io

答案 1 :(得分:1)

如果您正在学习本教程,则服务器端代码为server.js。这是一个带有socket.io扩展名的简单express.js webserver。

.html文件中的代码将发送到充当客户端的浏览器。

答案 2 :(得分:0)

那是套接字服务器。它侦听来自浏览器的连接。这就是您在HTML中所做的事情。