搭建WebSocket服务
因为测试需求需要,以前并没有接触过websocket协议的测试,为了正式测试时不卡壳所以决定搭建个websocket服务先熟悉熟悉整体流程
网上找了N多个websocket搭建教程,发现没有一个教程是能够顺利进行下去的,浪费了一天时间不说搞的自己心态也有点崩,回家后自己又摸索了一番,将整个搭建流程完全简化,再经过多次搭建测试后便有了这篇文章,总体过程为:1、安装nodejs环境;2、配置nodejs环境变量;3、安装nodejs-websocket服务;4、开放websocket端口;5、启动websocket服务;6、测试。详细过程如下:
安装nodejs环境
执行wget https://nodejs.org/download/release/v16.13.0/node-v16.13.0-linux-x64.tar.gz
下载nodejs包
解压nodejs包
执行tar -xvf node-v16.13.0-linux-x64.tar.gz
将nodejs包解压
配置nodejs环境变量
执行vim /etc/profile
进入编辑模式;将下面的内容复制进去
setting nodejs path
export NODE_HOME=/opt/node/node-v15.5.0-linux-x64(此处路径改为自己的nodejs路径)
export PATH=$NODE_HOME/bin:$PATH
node版本信息查看
安装结束后看可以通过node -v
、npm -v
查看下版本信息
安装nodejs-websocket服务
执行npm install nodejs-websocket
安装服务
如果提示图片中的错误,按照提示执行npm install -g npm@9.4.2
升级下npm的版本后再次安装即可
启动服务端websocket服务
本地编写好server服务后将js文件上传到服务器,执行node server.js
后看到以下信息代表成功!
发送测试
可以通过在线的websocket测试地址进行测试,比如:http://www.websocket-test.com/
客户端发送消息:
服务端接收消息:
var ws = require("nodejs-websocket");
console.log("WebSocket开始连接...");
var onlinecount = 0;
var server = ws.createServer(function (conn) {
//监听文本
conn.on("text", function (str) {
console.log("收到的信息为:" + str)
server.connections.forEach(function (conn) {
conn.sendText(str);
});
})
//监听当前链接是否关闭
conn.on("close", function (code, reason) {
onlinecount -= 1;
online();
console.log("关闭连接");
});
//监听当前连接是否发生错误
conn.on("error", function (code, reason) {
onlinecount -= 1;
online();
console.log("异常关闭")
});
onlinecount += 1;
online();
}).listen(3000, '替换成自己的内网IP地址');
//在线人数
function online() {
server.connections.forEach(function (conn) {
conn.sendText("###online###" + onlinecount);
});
}
console.log("WebSocket连接成功");
正文完