Websocket 在实时服务器上发送 blob 对象并在本地服务器上发送字符串

Websocket 在实时服务器上发送 blob 对象并在本地服务器上发送字符串

我是 Ubuntu 新手,最近使用 WebSocket 创建了一个项目。

本地服务器上的一切都按预期运行,但在实时服务器上我收到以下错误:

未捕获的语法错误:意外的标记‘o’,“[object Blob]”在 WebSocket.gotMessageFromServer 的 JSON.parse (anonymous) 中不是有效的 JSON

我在这里收到此错误(wss.onmessage)

function gotMessageFromServer(message) {
    var signal = JSON.parse(message.data); // here
..

服务器端代码是

wss.broadcast = function (data) {
    this.clients.forEach(function (client) {
        if (client.readyState === WebSocket.OPEN) {
            client.send(data);
        }
    });
};

消息格式为:

const dataToServer = JSON.stringify({
    'type': 'Initiate',
    'params': {
        'params1': value1,
        'params2': value1,
    }
});
wss.send(dataToServer);

请帮忙。提前致谢。

答案1

服务器更新:

websocket.on('message', function message(data, isBinary) {
  const message = isBinary ? data : data.toString();
  // Continue as before.
});

websocket.on('close', function close(code, data) {
  const reason = data.toString();
  // Continue as before.
});

相关内容