压力测试 逻辑调通需要从传输协议类型+数据结构+协议结构体/接口
协议有很多种类,这里说明下关于websocket
websocket在node.js里有多个模块,其中被H5,微信等广泛使用的ws模块,也有游戏使用的socket.io等。
安装
npm install -g ws
npm install --save ws //前往目录安装工程下
会在node_modules 存放项目依赖模块,这个也是node.js的一个缺点。如果要拷贝到其他地方,模块使用需要放在项目下。
简单讲下:
WebSocket是超文本传输协议的持久化,这里可以了解下keep-alive,多个http合并为1个。
http的生命周期是由request来界定,websocket就是客户端发送多个Request,接收多个Response,Response是被动的不能主动发起。
在代码里经常被缩写成function(req,res),res写在后面,如果本身在逻辑代码内包含了req请求时,这里就不用写。
创建ws:
var WebSocket=require("ws").server;
var serverip =new wss({
host:"127.0.01",
port:8888
}),
var server =new WebSocket({serverip});
//这里也可以写成var wss =new WebSocket({host:host:"127.0.0.1",port:8888})
---------------------------------------
以下和上面一样:
var WebSocket =require("ws");
var serverip =new wss({
host:"127.0.01",
port:9999
}),
var server =new WebSocket.server({serverip});
//取决于require
var client ={}; //这里判断是字符串还是数组,如果是数组就用array
如果使用到框架的话,这里需要被初始化。
server.on("conection",function(err,WebSocket)) {
//数组是这样处理的 cons .push(wss);
var img ="";
server.on("message",function(data)){
for(const i =0,i<client.length,i++){ //当接收字节小于长度时,继续接收
img += cs;
}
}