如何使用websocket将多个数组发送到客户端

How to send multiple arrays to client with websockets

本文关键字:客户端 数组 何使用 websocket      更新时间:2023-12-03

我在node.js应用程序中使用ws。我正在尝试向客户端发送2个数组。在一个数组(播放列表)中,我有一些URL,在另一个数组中(播放列表标题),我有这些URL的标题。

服务器端:发送两个阵列:

wss.on("connection", function(ws) {
    ws.send(JSON.stringify(playlistTitles)); //array 1
    ws.send(JSON.stringify(playlist)); //array 2
})

客户端:接收两个阵列:

ws.onmessage = function (event) {
    playlistTitles= JSON.parse(event.data); //array 1
    playlist = JSON.parse(event.data); //array 2
    console.log(playlistTitles);
};

问题是console.log(播放列表标题)在这里输出两个数组(首先是播放列表标题,然后是播放列表),而不是只输出播放列表标题

稍后playlistTitles会在其中显示播放列表的内容,这是不需要的。

那么,我如何正确发送这两个数组,或者应该如何处理这项任务?

大家干杯!

我在评论中提到的方法:

wss.on("connection", function(ws) {
    ws.send(JSON.stringify(["titles", playlistTitles])); //array 1
    ws.send(JSON.stringify(["list", playlist])); //array 2
})
//CLIENT-SIDE: Receiving two arrays:
ws.onmessage = function (event) {
    switch (event.data[0])
    {
        case "titles" :
            playlistTitles= JSON.parse(event.data[1]); //array1
        break;
        case "list" :
            playlist = JSON.parse(event.data[1]); //array 2 
        break;
    }
    console.log(playlistTitlesClient);
};