我正在研究使用Java堆栈(至少为服务器)构建IM类型的应用程序。我有兴趣看到有关Skype / AIM / MSN等应用程序如何工作的任何信息/建议,以及了解可能相关的任何技术/ API。 在没有放弃这个想法的情况下,它可能更像是Google Wave而不是Skype,但非常受欢迎的信息非常受欢迎。
我已经想到的具体要点包括:
答案 0 :(得分:3)
答案 1 :(得分:1)
如上所述,使用XMPP(代表可扩展消息传递和状态协议)。 你可以通过使用现有的XMPP服务器(例如,Openfire,ejabberd等)来逃避,而无需自己编程。有一种称为libpurple的东西用于使用专有的IM协议进行连接。
对于标准XMPP没有做的事情,您可以查看客户端机器人或external server components。
答案 2 :(得分:0)
构建移动消息应用程序的方法有两种:聊天功能开发:
这是一篇关于粗略估计的开发成本细分的文章,How Much Does It Cost to Develop WhatsApp?在3个月的开发中,最小的初始固定成本为260,000美元,大约有6名工程师和一个产品经理在硅谷或纽约这样的地方建造从头开始的基本移动聊天功能。更不用说将来运行服务器,维护,可扩展性和功能扩展的成本。花费美元和时间来构建聊天功能的机会成本是无法在核心功能上分配的资源(除非您正在构建另一个WhatsApp或Facebook Messenger)。
如果你的计划不是为了重新发明轮子,或者你是在节约工程资源并让专家更好地使用,或者只是用聊天功能测试水,那么整合第三方或者通常更简单,更具成本效益直接开源解决方案。它们通常提供随时可用的可定制UI库,跨平台SDK,后端API和Webhooks集成等。与使用Google Analytics,Parse / Firebase,Crashlytics,AFNetworking,Facebook API,{{3许多公司最初决定建立内部聊天解决方案,但后来发现他们的解决方案无法按预期扩展,因为客户群迅速增长。},Socket.io,Twilio for SMS,Stripe等。
但是,在开始集中聊天功能(无论是第三方集成还是内部解决方案)之前,您可能需要调查以下方面,
最后,回答你的想法,
Hyphenate为您处理通信或消息传递以及建立视频/语音呼叫。
**在通信安全方面,您可能希望查看TLS / SSL的3个主要组件以实现传输层安全性,使用OAuth 2.0进行身份验证以及端到端加密。 **