哈Ha 控制台聊天是一件很了不起的事情,但是对于前端来说,如果想要一样的话,对于后端来说又会怎样呢? 如果是,那么本文适合您。 但是后端经常使用哪种工具? 没错,ssh,所以我代表sshchat。
看起来如何
在服务器上的某个位置,节点上的程序正在旋转。
只要有人想连接到聊天,他就会输入:
ssh server -p 8022
之后,系统会要求输入密码,并使用特殊文件中的密码进行验证。 如果密码匹配,则我们连接到聊天室(该用户收到100条先前的消息,其他人看到他已连接)。
然后,他收到其他人的消息,并可以编写自己的消息。
这里带有更有趣的消息:
@box{@color(red){Red text in box}}
在框中发送红色文本。
让我们开始吧
要使用ssh,我们将使用https://www.npmjs.com/package/ssh2 。
对于格式化,我们使用粉笔和Boxen。
因此安装它们:
npm i ssh2 chalk boxen
现在,代码本身是此消息解析器( GitHub )中最重要的部分之一:
格式( GitHub ):
const chalk = require('chalk'); const { parseAndExecute } = require('./parserExec')
向所有用户发送消息并保存100条消息的方法( GitHub ):
let listeners = [];
大厅,服务器创建和授权( GitHub ):
const { Server } = require('ssh2'); const { readFileSync } = require('fs'); const hostKey = readFileSync('./ssh');
各种方法( GitHub ):
const { createInterface } = require('readline'); module.exports.getStream = function(client, onStream, onEnd){ client
现在结合( GitHub ):
const { createServer, setConnectCallback } = require('./lobby'); const { getStream, getCommunicator } = require('./utils'); const { addListener, delListener, broadcast, getCache } = require('./broadcaster'); const { format, getNick } = require('./format');
最后一步是一个示例服务器:
const chat = require('.') chat({})
users.json文件还描述了用户及其密码。
结论
这是您不能在ssh中编写最简单的聊天方式的方法。
对于这样的聊天,客户端不需要编写,它具有设计功能,任何人都可以部署它。
还有什么可以做的:
- 添加创建自己的设计功能的功能
- 添加降价支持
- 添加机器人支持
- 提高密码安全性(哈希和盐)
最终仓库