IOS中的XMPP一对一聊天

时间:2015-01-17 06:44:57

标签: ios iphone ios7 xmpp ejabberd

我得到"用户ID是nill"当切换到另一个viewcontroller时,发送的消息不存储。我想实现XMPP One to One聊天,我该怎么做?

我现在有完整的项目,但它是在nib文件中;我的工作是将其转换为故事板。我已经做了差不多但我被困在XMPP。

我必须使用哪些方法才能遇到类似&#34的错误;用户ID是nill"。

1 个答案:

答案 0 :(得分:1)

正如您在评论中提到的那样,您正在使用ejabberd XMPP服务器。有一个模块mod_logdb可以将聊天记录存储到数据库中。

以下是配置示例,只是看看如何配置mysql db以使用ejabberd。

{modules, [

  {mod_logdb, [
    {dbs, [
      {mysql5, [
        {user, "root"},
        {password, "pass"},
        {server, "serv"},
        {port, 3306},
        {db, "logdb"}
      ]},
      {mnesia, []}
    ]},
    {vhosts, [{"example1.org", mysql5}, {"example2.org", mnesia}{purge_older_days, 365},
    {dolog_default, true},
    {poll_users_settings, 5}   ]},
     %% Other modules ...
]}.

它会将所有聊天记录/日志存储到配置文件中给出的数据库,您可以从中将其作为普通的MySQL查询读取,并通过webservice传递给您的应用程序。

参考链接:

  1. mod_logdb
  2. Configuration guide