我正在使用Openfire XMPP服务器开发聊天应用程序.我可以在两个用户之间进行文字聊天 但是我想在某人输入消息时知道打字状态.所以我创建了一个类: -
public class typingStatus implements ChatStateListener {
@Override
public void processMessage(Chat arg0, Message arg1) {
// TODO Auto-generated method stub
}
@Override
public void stateChanged(Chat arg0, ChatState arg1) {
// TODO Auto-generated method stub
System.out.println(arg0.getParticipant() + " is " + arg1.name());
}
}
Run Code Online (Sandbox Code Playgroud)
但我很困惑,它将如何运作?我知道我需要一个数据包,我可以在Listener中使用它.但我无法找到该数据包.
请任何人建议,它将如何运作?
还有Smack和asmack有什么区别?
谢谢!
我安装Openfire 3.10.2了Ubuntu 12.04.
聊天工作正常,对于离线消息管理,我已经安装了CallbackOnOffline插件.当收件人离线时,会调用一个URL.
该插件从plugin.callback_on_offline.url属性加载url ,添加'to'和'from'参数并执行异步GET请求.示例链接.
我检查了从中获得的信息,我得到了一个"to"和"from",但我还需要那些以及推送通知的消息.
重要部分 :-
我想自定义openfire的CallbackOnOffline插件,我想再添加一个参数"message".我怎样才能做到这一点?
你会在这里找到代码:https://github.com/igniterealtime/Openfire/blob/master/src/plugins/callbackOnOffline/src/java/com/fotsum/CallbackOnOffline.java
现在,如何创建.jar文件,这需要在openfire中制作可安装的插件?
我是初学者,需要帮助.
我目前正参与一个项目,需要构建一个聊天应用程序(服务器端和客户端).经过进一步探索,最终我对XMPP感兴趣.
对于XMPP Server,我一直对支持XMPP协议的Openfire感兴趣.仍未解决的问题是Openfire是否可以扩展到消息通知的需求,这是Blackberry Messenger的一项功能,可以确定消息是PENDING,DELIVERED还是已被客户端(用户)读取.
谁能帮我?
我需要将聊天设置为网站上客户服务的解决方案.Openfire和它的一些插件(快速路径和网络聊天)在本地设置非常简单,并提供我需要的所有客户服务体验选项,并将正确地集成到我们的CRM中.
我们有一个运行其他东西的集群ejabberd实例.在我研究openfire之前,这是一个显而易见的选择,因为它已经安全地为我们的环境量身定制.当它与openfire开箱即用时,必须复制ejabberd模块中的所有客户服务功能,这似乎是一项糟糕的资源投入.
最终,我们也希望用户能够进行用户聊天,并可能将其转换为全面的消息传递系统.
是否有可能和/或建议使用s2s或其他技术在两个不同的服务器之间共享相同的数据库实例?有没有其他人有运行两台服务器的经验?如果我们沿着这条路走下去,我肯定会有很多陷阱,一切都很明显吗?
我正在使用ruby xmpp4r库来实现与openfire服务器的多用户组聊天应用程序.我在openfire服务器上成功创建了聊天室.如果用户使用openfire凭证加入聊天室,则不返回之前的群聊历史记录,只返回少量消息,因为我正在使用add_message_callback()方法.
以下是openfire群聊历史记录设置:
**显示整个聊天记录(向加入房间的用户显示整个聊天记录.) - 真实
我在这里错过了什么?任何人都有示例代码来获取以前的组历史记录?
我曾使用IOS的XMPPFramework连接本地Openfire服务器,并且它成功了.当我将正常的JID更改为电子邮件地址时xxx@xxx.xxx@127.0.0.1
它失败了.我正在考虑逃避NSString.
转义字符串: xxx\40xxx.xxx@127.0.0.1
在我的自定义数据库中,loginEmail字段是'xxx@xxx.xxx'.
所以AppDelegate:xmppStream:didNotAuthenticate:
我正在使用Openfire 3.8.2并安装了监视器插件并启用了一对一聊天的存档.
现在我能够在服务器端查看存档聊天,但是当我通过一个节,我得到了 feature not implemented
请求
<iq type='get' id='334'>
<list xmlns='urn:xmpp:archive'
with='user4@mydomain.com'>
<set xmlns='http://jabber.org/protocol/rsm'>
<max>30</max>
</set>
</list>
</iq>
Run Code Online (Sandbox Code Playgroud)
响应
<iq type="error" id="334" to="user1@mydomain.com/458">
<error type="cancel" code="501">
<feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</iq>
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我在这里失踪了什么?我已经探索了stackoverflow上的所有线程,但没有在那里找到任何解决方案.
我在openfire系统属性中设置了以下属性,但仍然没有得到相同的错误
conversation.idleTime 10
conversation.maxAge 0
conversation.maxRetrievable 100
conversation.maxTime 60
conversation.messageArchiving true
conversation.metadataArchiving true
conversation.roomArchiving true
Run Code Online (Sandbox Code Playgroud) 我使用openfire 3.9.3服务器和Android和IOS作为客户端.我想在收件人用户离线时通过推送通知向两个客户端发送消息.当发送推送时,发件人应该收到消息.
为此,我试过:
制作拦截器:在此,我没有得到任何可以跟踪的异常或消息失败.
修改openfire代码也.但我不认为这是一个很好的解决方案.
我只是想知道,是否有任何插件或修改openfire代码是它的最后一个解决方案?
请问有人能告诉我使用asmack库和XMPP协议从openfire服务器到android客户端应用程序检索聊天记录的确切代码吗?在我的openfire服务器中,我启用了合并的监控服务/开放存档服务以及成功存储到数据库中的所有消息.但我不知道这些消息(聊天记录)如何检索到我在ANDROID中构建的客户端应用程序.我需要什么类型的聊天是一对一的用户聊天(不是群聊).
我成功ED,这是让组聊天记录与帮助这个,但我想找回一对一的聊天记录
如果有人能给我写一个代码,我将非常感激.
谢谢!
我正在开发一个带有SMACK库的Android上的即时消息应用程序,它使用OPENFIRE作为xmpp服务器.我想从MONFCORING SERVICE插件(基于XEP-0313)启用的openfire服务器中的MessageArchiveManager获取每个会话的最后一条消息.我知道mamManager.queryArchive()可以获取与特定jid相关的消息,或者可以获取服务器中存在的特定数量的消息(没有自定义的sepration),但我们认为smack不知道哪些JID有对话服务器!一个解决方案是每个ROSTER条目发送请求,但是当它包含大量联系人时,它的成本很高,而且我们可能会与Roster中的任何人进行对话.有没有办法或插件或其他扩展来做到这一点?