Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Множественные соединения по bluetooth


Автор: Sardar 12.3.2008, 23:47
Пишу сетевую игрушку (морской бой с юзерами более 2 одновременно, лаба школьная), сетка bluetooth. Что бы сэкономить ресурсы, решил организовать token ring сетку, т.е. каждый девайс соединяется с двумя соседями и мессага идёт через всех по кругу. Скорость не важна, т.к. игрушка turn-based.

Соединения RFCOMM (btspp://localhost), жду на acceptAndOpen(), на этом собираю обычную P2P сеть (каждый девайс и клиент и сервер). Вот уже время запукать подходит и тут натыкаюсь на http://fivedots.coe.psu.ac.th/Software.coe/J2ME/bluetooth/Nokia%20Articles/Games_over_B_tooth_v1_0_en.pdf. Оказывается в Bluetooth есть чёткое разделение master/slave (piconet). Именно master может инициировать соединение, slaves ожидают соединений на опубликованные сервисы. Когда соединения открыты, попытка другого девайса подключиться (следовательно он master) с треском провалиться (scatternet'ы большинством девайсов пока не поддерживаются). Допустимо только одному master'у подключиться к нескольким девайсам, всё общение будет проходить через него (он router).

Нескольких девайсов для проверки у меня нет, но я верю тому документу. В Connector API это конечно не отображено, будем просто получать исключения при попытке соедиения. Есть подозрение (надежда), что я чего то не допонял и все эти танцы как то скрываются двжавовским API.

Вопрос: кто-нибудь создавал bluetooth сетку из нескольких девайсов? Какова была техника и какое чтиво пошло в дело?
Требуется: обычная (PC'шная) сеть, где каждый девайс может слушать коннекты и сам коннектиться, всё это одновременнно, не задумываясь кто там master а кто slave. Если так нельзя, то неделя работы на смарку smile 

Автор: Antropoid 20.3.2008, 11:42
Думаю зависит от девайсов, - поддерживают ли они множественный БТ-коннект. А проверить можно прописывая в каждом из них 2 треда - слушатель и отправитель. Сам не пробывал.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)