two improves of live room danmu (#5)

* feat: use wss instead of tcp connect

* feat: fallback to next server when live room danmu server connect failed
This commit is contained in:
PuerNya
2024-11-19 18:44:25 +08:00
committed by GitHub
parent f3a95a2c3a
commit 1a89e17abd
2 changed files with 25 additions and 12 deletions

View File

@@ -142,12 +142,15 @@ class LiveRoomController extends GetxController {
if (v['status']) {
LiveDanmakuInfo info = v['data'];
// logger.d("info => $info");
List<String> servers = [];
for (final host in info.data.hostList) {
servers.add('wss://${host.host}:${host.wssPort}/sub');
}
msgStream = LiveMessageStream(
streamToken: info.data.token,
roomId: roomId,
uid: GStorage.userInfo.get('userInfoCache')?.mid ?? 0,
host: info.data.hostList[0].host,
port: info.data.hostList[0].port,
servers: servers,
);
msgStream?.addEventListener((obj) {
if (obj['cmd'] == 'DANMU_MSG') {