Я оцениваю PeerJS
, чтобы реализовать простую двухпользовательскую онлайн-игру. Похоже, что когда я передаю id
соединения одного игрока другому, они могут открыть канал через PeerJS и хорошо идти.Обнаружение широковещательной или одноранговой сети с помощью PeerJS
Но если два игрока хотят играть, которые не знают друг друга, что является самым элегантным способом сделать там матч? Есть ли способ спросить у брокера PeerJS список всех подключенных клиентов, возможно, с некоторыми метаданными (например, «статус: хочет играть»)? Или это способ транслировать для всех клиентов?
@ZekeSonxx 'Object.keys (server._clients.peerjs);' тот же массив –
Вы также можете передать опцию 'allow_discovery: true' при создании одноранговый сервер. Затем просто используйте метод «peer.listAllPeers» в браузере. Я думаю, что это не документировано на веб-сайте peerjs. – sousa
Я редактировал в 'indexOf' проверках, потому что сетевые события ненадежны, поэтому нам может быть не хватать одного или двух. С помощью дополнительных проверок прослушиватели событий становятся [idempotent] (https://en.wikipedia.org/wiki/Idempotence). –