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

时间:2015-02-15 12:20:37

标签: javascript node.js websocket

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

SERVER-SIDE:发送两个数组:

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

CLIENT-SIDE:接收两个阵列:

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

问题是console.log(playlistTitles)这里输出两个数组(第一个播放列表标题然后是播放列表),而不仅仅是playlistTitles

以后播放列表标题会在其中显示播放列表的内容,这是不受欢迎的。

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

欢呼,大家!

1 个答案:

答案 0 :(得分:0)

我在评论中提到的方法:

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);
};