This commit is contained in:
aozhiwei 2022-05-28 10:06:10 +08:00
parent 574f62c47b
commit bd85e5cdb4

View File

@ -6,30 +6,72 @@ const cmdHash = {};
let seqId = 0;
let conn = null;
let seqHash = {};
async function parsePackage(socket, data) {
const msg = utils.jsonDecode(data);
const context = seqHash[msg['seqId']];
context['endTick'] = utils.getTickCount();
console.log(context['endTick'] - context['beginTick']);
context['session'].rspData(msg['data']);
}
async function test(session, params) {
const currSeqId = ++seqId;
const msg = {
'url': 'https://game2006api-z1-test.cebg.games/webapp/index.php',
'url': 'https://login-z1-test.cebg.games/webapp/index.php',
'params': {
'c': 'Ops',
'a': 'selfChecking'
},
'seqId': ++seqId,
'seqId': currSeqId,
'payload': ''
};
seqHash[currSeqId] = {
'seqId': currSeqId,
'beginTick': utils.getTickCount(),
'endTick': 0,
'msg': msg,
'session': session
};
const msgText = utils.jsonEncode(msg);
const text = '#' + utils.pad(msgText.length, 7) + msgText;
if (!conn) {
conn = await ws.connect('ws://127.0.0.1:8381');
conn = await ws.connect('ws://relation-z1-test.cebg.games/httpgate/websocket');
conn.on('connect', () => {
console.log('connect');
conn.sendText(text);
});
let data = '';
conn.on('text', (str) => {
//console.log(str);
data += str;
//#0000000
while (data.length >= 8) {
if (data[0] != '#') {
conn.close('error package');
break;
}
const pkgLen = parseInt(data.slice(1, 8), 10);
if (isNaN(pkgLen)) {
conn.close('error pkgLen');
break;
}
//console.log(data, pkgLen, data.slice(1,8));
if (data.length >= 8 + pkgLen) {
parsePackage(conn, data.slice(8, 8 + pkgLen));
data = data.slice(8 + pkgLen);
console.log(data);
}
}
});
}
if (conn.readyState == conn.OPEN) {
conn.sendText(text);
}
session.rspOk();
//session.rspOk();
}
async function execCmd(session) {