带有 php 服务器的 Android 中的 Xmpp [关闭]

Posted

技术标签:

【中文标题】带有 php 服务器的 Android 中的 Xmpp [关闭]【英文标题】:Xmpp in Android with php server [closed] 【发布时间】:2017-03-17 10:23:22 【问题描述】:

我正在开发一个具有聊天功能的应用程序,除了聊天之外,我的其余应用程序已完成现在我想将聊天集成到我正在尝试 xmpp 的应用程序中,我已经尝试了一个 xmpp 示例和我自己的jabbered服务器及其工作。 以下是我的问题是 1.如何将我的应用程序 php 数据与 jabbered 服务器集成以显示与那里聊天的用户列表图像、姓名、时间和最后一条消息,如 whats 应用程序聊天列表等,如下图

2. xmpp 的流程,例如它的工作原理,首先将消息发送到 FCM,然后发送到 jabbered 服务器,然后再发送到 Device,或者它的工作方式不同。

    如何管理聊天记录,我需要本地数据库来维护它还是需要对历史记录的帮助。

任何建议、链接、示例将不胜感激。

【问题讨论】:

就这些了吗?仅此而已? 投票关闭,因为它更像是找到一个教程、书籍或其他解释 xmpp 编码的东西。您需要使用代码的相关部分详细说明您的问题所在。你在哪里卡住了,你的目标是什么,你的应用会抛出异常吗? 【参考方案1】:

我想你一次问了很多问题。你想用你的服务器实现它的方式取决于你。但据我所知,我能说的最好的就是 WhatsApp 上的聊天存储是在设备上完成的。消息可以存储在 Sqlite 数据库中。我使用 node.js 为我自己的服务器供电。我不可能向您详细说明它们是如何链接在一起的,但我可以尝试说我的 Node.js 服务器上有一个 xmpp 客户端。一旦用户注册,xmpp 客户端就会使用相同的用户名在 ejabbered 服务器中注册用户。因此,由于用户信息与他/她的所有详细信息都在表格中,因此可以通过 android 应用程序的用户名轻松查询。

你需要对 xmpp 做一些研究,可能还有 Node.js 和 SQLite。

FCM 有所不同,您可能在流程中并不真正需要它

【讨论】:

谢谢伙计,我使用 php 作为后端,所以现在我必须将我的 php 后端与 jabbered 服务器连接以进行查询?【参考方案2】:

首先对不起我糟糕的英语。 第一个答案,

XMPP 提供使用 PHP 服务注册。基本上,如果成功,则从您的设备注册,然后在您的服务器数据库中注册保存用户数据。注册用户后,你必须在 XMPP 中注册用户,现在我没有 PHP snidest 代码。

另一种方式是,如果用户成功注册,那么它会给你注册数据。从您的设备获取用户 ID 作为 XMPP 中的注册用户。

我不知道你如何管理你的朋友列表,但假设你有用户 ID 使用它连接后缀名称,你可以发送消息。

第二个答案,

您需要参考文档并以 XML 和/或子格式制作消息格式。 在消息格式中,您必须定义发送者 ID、接收者 ID、发送时间、消息,并且您可以定义自定义属性。发送方以 XML 格式发送消息,接收方评估消息。

回答第三个,

您已为个人聊天管理本地数据库,因为在向您发送消息后服务器工作就结束了。在组中,它将提供历史消息,但在这里您还必须管理本地它的数据库。

希望这些信息对您有所帮助。

【讨论】:

嗨,谢谢,假设我必须在我的应用程序登录屏幕中使用用户名和密码登录,并且用户名和密码存储在我的 php 服务器中,所以我必须将该用户名和密码也发送到 jabbered 服务器获取 jabber id 或其他任何事情要做? 嗨,在注册时它会给我回复 user_id。现在我使用这个 user_id 在 xmpp 中注册用户名和密码,所以这个 user_id 也应该是我的 jabber_id。当我成功登录时,从它的成功响应中,我在异步任务中运行 XMPP 登录代码。我不知道这种方法是否正确,但它在我身上起作用。 好的,是的,它似乎是对的,你能告诉如何将 php 服务器与 jabbered 服务器连接,以便可以将 php 用户 id 发送给 jabbered 以将其假定为 jabber_id,谁是好人和更好的方法由 php 人或 android 人来完成这项工作? 最好用PHP。我开发了与 EJabbered 相同的聊天应用程序 ni Openfire。我对 Ejabbered 不太了解,但在这里我找到了一个示例,请参考此链接:***.com/questions/34305269/… 嗨,现在一切正常,现在我想知道如何从 ejabbered 服务器获取一对一的聊天记录.. 是否有可能或者我必须做其他事情?

以上是关于带有 php 服务器的 Android 中的 Xmpp [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

带有服务器端 php 的 Android 文件上传器

带有 Apache 服务器 SSL 的 php 中的 Websocket

php如何以post形式发送xm并返回xmll数据

带有 Kotlin 的 Android 中的 HTTP 请求

使用 HttpClient 将带有 post 方法的 utf8 内容发送到 android 中的服务器

从android设备上传php服务器中的文件