2015-05-16 3 views
2

Я пытаюсь отправить массив моему отправителю из моего получателя, но когда я попробую, он превратит его в строку.Chromecast отправить сообщение отправителю от приемника

У меня есть код:

messageBus = window.castReceiverManager.getCastMessageBus(namespace, cast.receiver.CastMessageBus.MessageType.JSON); 

и

messageBus.send(senderId, ["test", "test2"]); 

В моем приемнике и в моем отправителем:

session.addMessageListener(namespace, function (ns, message) { 
    console.log(message); 
    console.log(typeof(message)); 
}); 

Выход в моей консоли:

["test","test2"] 
string 

Как отправить массив отправителю?

ответ

0

По умолчанию вы не можете отправить массив; вы можете отправить строку или пакет JSON. Если вам нужно отправить массив, вам нужно будет определить собственный сериализатор и десериализатор для MessageBus, чтобы сохранить ваше сообщение в виде массива. Чтобы избежать этого, то вы можете отправив JSON пакет:

messageBus.send(senderId, {"msg": ["test", "test2"]}); 

Затем на отправителя, вы можете использовать message.msg часть объекта таким образом, похож на массив (или даже преобразовать его в массив).