В чем разница между каналами и клавишами
Я разрабатываю приложение с помощью GoInstant, но разница между ключами и каналами не очень очевидна. Когда я должен использовать ключи против каналов?
1 ответ
Ключи: Как и в хранилище значений ключей, объект Key - это интерфейс, с помощью которого вы управляете и отслеживаете значение в GoInstant. Вы должны использовать их для CRUD (Создать, Читать, Обновить Удалить).
ключевой пример:
// We create a new key using our room object
var movieName = yourRoom.key(‘movieName’);
// Prepare a handler for our `on` set event
function setHandler(value) {
console.log(‘Movie has a new value’, value);
}
// Now when the value of our key is set, our handler will fire
movieName.on(‘set’, setHandler);
// Ready, `set`, GoInstant :)
movieName.set('World War Z', function(err) {
if (!err) alert('Movie set successfully!')
}
Каналы: представляют полнодуплексный интерфейс обмена сообщениями. Представьте себе паб / подсистему с несколькими клиентами. Каналы не хранят данные, вы не можете извлечь сообщение из канала, вы можете только получить его. Вы должны использовать его для распространения событий между клиентами, разделяющими сеанс.
Пример канала:
var mousePosChannel = yourRoom.channel('mousePosChannel');
// When the mouse moves, broadcast the mouse co-ordinates in our channel
$(window).on('mousemove', function(event) {
mousePosChannel.message({
posX: event.pageX,
posY: event.pageY
});
});
// Every client in this session can listen for changes to
// any users mouse location
mousePosChannel.on('message', function(msg) {
console.log('A user in this room has moved there mouse too', msg.posX, msg.posY);
})
Вы можете найти официальные документы здесь:
Ключ: https://developers.goinstant.net/v1/key/index.html
Канал: https://developers.goinstant.net/v1/channel/index.html