1
This commit is contained in:
parent
30d6ac8820
commit
3974451176
@ -9,13 +9,41 @@ const metaFactory = require('../metadata/factory');
|
||||
class WsServer extends BaseService {
|
||||
|
||||
async init() {
|
||||
const server = ws.createServer(function(socket){
|
||||
socket.on('text', function(str) {
|
||||
const data = '';
|
||||
const server = ws.createServer((socket) => {
|
||||
|
||||
socket.on('text', (str) => {
|
||||
console.log(str);
|
||||
data += str;
|
||||
//#0000000
|
||||
while (data.length >= 8) {
|
||||
if (data[0] != '#') {
|
||||
socket.close('error package');
|
||||
break;
|
||||
}
|
||||
const pkgLen = parseInt(data.slice(1, 7), 10);
|
||||
if isNaN(pkgLen) {
|
||||
socket.close('error pkgLen');
|
||||
break;
|
||||
}
|
||||
if (data.length >= 8 + pkgLen) {
|
||||
this.parsePackage(data[8, 8 + pkgLen]);
|
||||
data = data.slice(8 + pkgLen);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
socket.on('close', (code, reason) => {
|
||||
console.log('connection close', code, reason);
|
||||
});
|
||||
|
||||
}).listen(3000);
|
||||
}
|
||||
|
||||
async parsePackage(data) {
|
||||
console.log(data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = WsServer;
|
||||
|
Loading…
x
Reference in New Issue
Block a user