Skip to content

Commit 30eb5de

Browse files
authored
实时弹幕聚合显示:增加心跳机制
Added heartbeat functionality to maintain WebSocket connection.
1 parent 10ffda1 commit 30eb5de

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

plugins/aggregate/index.html

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@
487487
}
488488

489489
const result = await response.json();
490-
alert("getWssUrl resp:" + JSON.stringify(result));
490+
//alert("getWssUrl resp:" + JSON.stringify(result));
491491
if (result.code === 0 && result.data) {
492492
console.log('WSS URL retrieved successfully:', result.data);
493493
return result.data;
@@ -598,11 +598,10 @@
598598
}else if (event.data.type === 'StreamHawk') {
599599
var message = event.data.data;
600600
var msgType = message.type;
601-
//var bullet = {id:item.id,'icon':formatIcon(item.type),'roomId':route.query.roomId,platform: route.query.platform,roomName:route.query.roomName,type:item.type,userId:item.userId,'userName':item.userName,userAvatar:item.userAvatar,userShortId:item.userShortId,userGender:item.userGender,userFollowers:item.userFollowers,userFollowing:item.userFollowing,userPosts:item.userPosts,userCountry:item.userCountry,userProvince:item.userProvince,userCity:item.userCity,userDescription:item.userDescription,'content':item.content,'statusText':'🔄️'};
602601
if(msgType == 'text' || msgType == 'gift' || msgType == 'entrance' || msgType == 'like' || msgType == 'streamer'){//合法消息类型
603-
incrLiveData();
604602
if(ws && ws.readyState === ReconnectingWebSocket.OPEN) {
605-
//ws.send(JSON.stringify(message));
603+
incrLiveData();
604+
ws.send(JSON.stringify({"cmd":4014,"payload":message}));
606605
console.log('Aggr message sent via WebSocket:',message);
607606
}else{
608607
console.warn('Aggr WebSocket is not connected. Cannot send danmaku message.');
@@ -626,6 +625,15 @@
626625

627626
// Initialize when page loads
628627
document.addEventListener('DOMContentLoaded', init);
628+
629+
function heartBeat(){
630+
if(ws && ws.readyState === ReconnectingWebSocket.OPEN){
631+
ws.send(JSON.stringify({"cmd":8002}));
632+
}
633+
}
634+
setInterval(() => {
635+
heartBeat();
636+
},30000);
629637
</script>
630638
</body>
631639
</html>

0 commit comments

Comments
 (0)