На приемнике вы создаете объект Receiver и ChannelHandler. Вы используете приемник для создания ChannelFactory, который затем передается ChannelHandler. ChannelHandler теперь обрабатывает создание каналов на приемнике. Вы захотите добавить EventListener в обработчик для прослушивания сообщений. На основе этих сообщений вы можете делать разные вещи.
receiver = new cast.receiver.Receiver(YOUR_APP_ID, [YOUR_PROTOCOL], "", 5);
var dashHandler = new cast.receiver.ChannelHandler(YOUR_PROTOCOL);
dashHandler.addChannelFactory(receiver.createChannelFactory(YOUR_PROTOCOL));
dashHandler.addEventListener(cast.receiver.Channel.EventType.MESSAGE, onMessage.bind(this));
receiver.start();
...
onMessage = function (e) {
var message = e.message;
switch (message.type) {
...
}
}
На отправителе, после сеанса создается вы хотите отправить сообщение о состоянии проверки на приемник, чтобы увидеть, если уже есть каналы, прикрепленные. Вы можете сделать это через MessageStream, и ваш ресивер должен ответить так, чтобы MessageStream обновил свой статус. Вы проверяете этот статус, чтобы увидеть, есть ли каналы. Если есть возможность начать прослушивание обновлений для вашего ресивера. Если нет, вы можете отправить событие загрузки получателю, чтобы начать свою деятельность.
MediaProtocolCommand cmd = mMessageStream.requestStatus();
cmd.setListener(new MediaProtocolCommand.Listener() {
@Override
public void onCompleted(MediaProtocolCommand mPCommand) {
if (mMessageStream.getState() == 'channelsExist') {
//Start New Activity
} else {
//Join Existing Activity
}
@Override
public void onCancelled(MediaProtocolCommand mPCommand) {
}
});
Это своего рода смутный ответ, но это может быть более конкретным, если бы я знал, что вы пытаетесь сделать. Мое приложение использует протокол RAMP Google для воспроизведения видео, поэтому мой MessageStream и все его сообщения уже определены. Если вы делаете что-то другое, вам нужно создать свой собственный MessageStream.
Я проверил это раньше, но я не мог найти НИКАКОЙ разницы ... Но спасибо! – kyp