Адаптация Android Чат Bluetooth для нескольких устройств

Я делаю проект колледжа на Bluetooth для Android, и я пытаюсь понять, как управлять коммуникацией между несколькими подключенными устройствами. В конечном счете я собираюсь разработать многопользовательскую Игру Bluetooth.

В настоящее время я адаптировал демонстрационное приложение Android BluetoothChat для соединения моих трех Nexxus, которым Каждый звонит. 1 подключение к 2, кто соединяется с 3 1, отправляет его сообщения успешно в 2. 3 отправляет его сообщения успешно в 2 также. 2 может отправить его сообщения успешно в 1 и 3, поскольку это совместно использует ConnectedThread с обоими. Но я не могу выяснить, как обработать получение коммуникации от 1 до 3.

Кто-либо имеет какие-либо примеры коммуникации между несколькими устройствами или сделал это самими?Спасибо

5
задан Megh 1 June 2010 в 14:25
поделиться

2 ответа

Одним из способов является аннотация ваших сообщений с указанием отправителя и получателя, так что когда 2 получает сообщение, он знает, что нужно передать его 3. Когда 3 получает сообщение, он проверяет атрибут получателя, чтобы узнать, что оно от устройства 1. Этот дополнительный уровень позволяет вам отправлять и получать сообщения через другие устройства и при этом знать, от кого они получены.

Сначала, однако, вам нужно выяснить, как сделать так, чтобы каждое устройство знало обо всех других устройствах в сети. Если вы просто соединяетесь в линию, как 1-2-3-4, то каждый раз, когда устройство входит в сеть, вы можете отправить обновленный список по сети, но что произойдет, если 2 устройства выпадут из сети? Вы просто выйдете из игры? Ждать, пока он будет снова подключен? В этом случае, возможно, лучше рассмотреть одноранговую сеть, или типичную архитектуру клиент-сервер, когда вы позволяете одному устройству быть хостом, особенно если предполагается, что впоследствии это будет многопользовательская игра.
Надеюсь, это поможет!

4
ответ дан 15 December 2019 в 00:52
поделиться

Возможно одновременное использование нескольких Bluetooth сокетов, поэтому вы также можете рассмотреть возможность конфигурирования для работы в качестве сервера, как IRC или XMPP сервер, который посредничает во всех коммуникациях от одного клиента к другому.

Если вы хотите обеспечить отказоустойчивость (например, серверный сокет выходит из строя), то при подключении к серверу он может предоставить список недавно виденных Bluetooth-устройств, к которым вы можете вернуться в случае выхода из строя сервера.

0
ответ дан 15 December 2019 в 00:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: