iPhone/Android实时通信、XMPP、原始TCP?

iPhone/Android实时通信、XMPP、原始TCP?,iphone,android,tcp,xmpp,Iphone,Android,Tcp,Xmpp,我有一个应用程序有两个版本:一个在iPhone上,一个在Android上 我希望我的两个应用程序能够实时通信。用例包括: 用户A看到好友列表,选择用户B并单击“共享项目” 用户B收到通知,表示用户a希望与他共享一个项目 用户B接受后,事务发生,并通知两个用户事务进展顺利 我曾考虑过使用一个简单的HTTP事务,但这会对用户进行轮询,因此不是一个好的用户体验 我认为XMPP会很适合,但我不太确定这个解决方案有多灵活(如果我想把我的用户信息也保存在一个单独的服务器上怎么办等等)。我还考虑使用原始TCP

我有一个应用程序有两个版本:一个在iPhone上,一个在Android上

我希望我的两个应用程序能够实时通信。用例包括:

用户A看到好友列表,选择用户B并单击“共享项目” 用户B收到通知,表示用户a希望与他共享一个项目 用户B接受后,事务发生,并通知两个用户事务进展顺利

我曾考虑过使用一个简单的HTTP事务,但这会对用户进行轮询,因此不是一个好的用户体验

我认为XMPP会很适合,但我不太确定这个解决方案有多灵活(如果我想把我的用户信息也保存在一个单独的服务器上怎么办等等)。我还考虑使用原始TCP套接字(服务器上的NoDE.js相当容易操作)。
目前最好的解决方案是什么?

嗯,您的要求大致如下:

  • 实时
  • 好友列表
  • 在场
  • 数据共享
这些都是XMPP的特性,并且有多种语言的库实现。for Java和for Objective C将介绍您的特定用例

当然,您可以自己从套接字层开始编写,但既然有现成的标准化协议和库可以满足您的需要,为什么还要麻烦呢。我敢肯定,当你想将黑莓或任何其他平台添加到你的列表中时,可以这样做
您可以轻松找到支持应用程序的正确库,而无需从头开始构建。

XMPP的唯一问题是,我不确定如何处理用户注册/管理。“我现在正在调查。@Alex-帐户管理内置于协议中,并在中得到支持。尽管在必要时实现所需的XEP-0077子集可能很容易,但不能对xmppframework发表评论。