我们正在开发使用 XMPP 相互通信的特殊设备。我现在正在开发的新 API 也应该与这些设备通信。我面临的问题 - 所有这些设备都在建立小团体 - 对于我们拥有的每个客户......所以我们将为每组设备拥有一个聊天室,或者为我们的每个客户拥有他的一堆设备;)
但是现在.. api 应该能够与连接的每个设备对话。我不需要真正的广播机制 - 最后,我只会向一个特定的设备发送消息..
但我也不想登录每个聊天室——运行一个拥有超过 40k 客户和更多设备的产品,将以一个有趣的 api 结尾,即在启动时打开超过 40k 聊天室......即使不'还没有尝试过,我无法想象这样的应用程序会运行良好......即使我们可以在几年内拥有数百万客户......我不喜欢会随着数量线性增长的解决方案客户,如果您知道我的意思:/
现在,基本上我正在考虑一个解决方案,我可以使用基本的 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 Forums 的某个地方,我读到一个人“解决”了它,但他所说的一切都是“它现在正在工作,我通过连接的 sendPacket 推送我的消息”......好吧,我的尝试似乎没有去工作 :(
任何更好的想法/实际实现如何才能正常工作?
基本上我开始认为 XMPP 根本不会是实现这样的事情的最佳技术 - 我希望我可以有一个真正/基本的套接字实现,这样的事情将是小菜一碟.. 但我不能选择- 第三方系统已经实现了 XMPP……没有足够的时间来改变这一切……如果你想知道为什么我们在 XMPP 上尝试这个……