我有一个 tcp 套接字,包"<<"
开头和包">>"
结束,所以我的数据"<< data >>"
.
let stream = socket.pipe(split('>>'));
stream.on('data', (data) => { /*do something with data*/ };
我用它来切割包装的末端,所以如果我得到:
<<data>><<data>><<data>>
我的输出是:
['<<data','<<data','<<data']
但有时我的套接字会收到:
<<da<<data>>
而且我无法响应最后一条数据消息,我想用开始"<<"
和结束">>"
剪切,并在两者之间获取数据。
你可以使用RegExp来实现这一点。
const strP = "<<data<<<<data>>";
let tempResult;
const regExp = RegExp('<<(\w+)(>>|<<)', 'g');
while ((tempResult = regExp.exec(strP)) !== null) {
console.log(`Package data: ${tempResult[1]}`);
}