Мы разрабатываем специальные устройства, которые используют XMPP для общения друг с другом. Новый API, который я сейчас разрабатываю, должен также разговаривать с этими устройствами. Проблема, с которой я столкнулся - все эти устройства строят небольшие группы - для каждого клиента у нас есть ... поэтому у нас будет чат для каждой группы устройств или для каждого из наших клиентов с его связью устройств;)Как отправить широковещательное сообщение с помощью SmackAPI?
Но теперь api должен иметь возможность разговаривать с каждым подключенным устройством. Мне не нужен реальный механизм вещания - в конце концов, я отправлю сообщение только одному конкретному устройству.
Но я не хочу входить в каждую комнату - либо запустить продукт с помощью более 40 тыс. клиентов и намного больше устройств, закончится забавным api, который откроет более 40 тыс. чатов при запуске ... даже если этого еще не пробовал, я не могу представить, что такое приложение будет работать хорошо ... хотя мы можем иметь миллионы клиентов через несколько лет .. Мне не нравятся решения, которые будут расти линейно с количеством клиентов, если вы знаете, что я имею в виду:/
Теперь, в основном, я ' я думаю о решении, где я просто могу использовать базовое XMPPConnection, чтобы делать свои вещи.
MyCustomMessage msg = new MyCustomMessage();
msg.setTo("*"); // don't know what to address, i want to send it to "all"
msg.setFrom("ThatAPI"); // just a string telling that is sent from my java api ;)
msg.setEvent(event); // stuff that is coming through the parameters of the method where this code is inside
msg.setCustomStanza(data); // same here
connection.sendPacket(msg); // my try to send it to all till now..
Где-то на форумах Ignite Realtime я прочитал одного парня, который «решается», но все, что он говорит, что это «он сейчас работает, я толкать мое сообщение через sendPacket из Connection» ... ОК Ницца моя попытка это, похоже, не работать :(
Есть лучшие идеи/реальные реализации, как это будет работать нормально?
в основном я начинаю думать, что XMPP не будет лучшей технологии для достижения что-то вроде этого в все - я хочу, чтобы у меня была настоящая/базовая реализация сокета, где что-то вроде этого было бы куском торта. Но я не могу выбрать - третий -партий-система уже реализовала XMPP ... не хватает времени, чтобы изменить все это ... Просто, если вам интересно, почему мы пытаемся это сделать на XMPP.
Звучит как кейс для XMPP PubSub. – Flow