思路整理
webSocket是服务器向客户端发送信息的一种手段
这里是 更多关于 webSocket 的内容
如果想要了解更多关于 nodeJS 中的webSocket内容,点击这里
开始之前,我们需要新建两个客户端和一个服务端,
服务端负责保存与客户端的连接并且在双方都在线上之后传输双方的讯息
客户端需要建立与服务器的连接然后通过指定方式声明自己的身份,然后开始 聊天
服务端
编写前要有 nodejs-websocket 包,可通过 npm i --save nodejs-websocket 安装
大体步骤:
新建服务器 ⇒
监听连接中的事件 ⇒
如果双方都建立过连接就向另一方发送讯息 ⇒
否则验证连接的口令是否正确,正确则将连接保存起来并视为以上线
let ws = require("nodejs-websocket");
let chatA = null,
chatB = null;
console.log(ws);
ws.createServer((conn) => {
// 收到文本请求
conn.on("text", (msg) => {
// 如果双方都建立了连接,可以通信
if (chatA && chatB) {
if (conn === chatA) {
// 向另一个连接发讯息
chatB.send(msg)
} else {
chatA.send(msg)
}
return
}
// 有人不在线上,判断登录口令
if (msg === "chatA token") {
// 保存连接以判断是否上线与发送讯息
chatA = conn;
return
}
if (msg === "chatB token") {
chatB = conn;
}
})
conn.on("close", () => {
})
conn.on("error", (code, reason) => {
console.log("exit with error code " + code + ", reason:" + reason);
})
}).listen(8888) // 监听 8888 端口
客户端
大体步骤:
建立于服务器 localhost:8888 的连接(上方监听了端口 8888) ⇒
发出对应的登录口令 ⇒
点击发送按钮将文本框内容获取,将其放在聊天框中并发送请求,随后清空文本 ⇒
收到服务器信息后展现在聊天框中
关键代码:
let chatWindow = document.querySelector(".chat-window"), // 聊天框
msgbox = document.quer



被折叠的 条评论
为什么被折叠?



