我收到"userid is nill",切换到另一个视图控制器时发送的消息没有存储。我想实现 XMPP 一对一聊天,我该怎么做?
我现在有完整的项目,但它在笔尖文件中;我的工作是将其转换为故事板。我几乎做到了,但我被困在 XMPP 上。
我必须使用什么方法遇到了一些错误,例如"userid is nill"。
正如您在评论中提到的,您正在使用 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查询读取,并通过网络服务传递给你的应用程序。
参考链接:
- mod_logdb
- 配置指南