标签: xmpp

如何获取传入的xmpp消息的时间戳?

我正在使用aSmack库与远程xmpp服务器进行通信.我能够发送/接收消息,但我想获取传入消息的时间戳.

你能告诉我,它有可能吗?因为我找不到关于这个问题的任何信息.

提前致谢

android xmpp smack asmack

16
推荐指数
3
解决办法
1万
查看次数

使用XMPP在ios中构建聊天应用程序

我正在尝试在ios中构建一个聊天应用程序.我遇到了ios的XMPP.我对如何前进感到有点困惑.以下是我的疑惑:

  1. 我是否需要创建XMPP服务器来实现此应用程序?
  2. 或者是否有任何现有的服务器/服务可以用于相同的目的?

xmpp ios xmppframework

16
推荐指数
2
解决办法
2万
查看次数

基于Javascript的XMPP chatclient使用strophe js - 示例和教程?

我想制作一个简单的基于javascript的XMPP客户端.我偶然发现了'strophe js',这对于XMPP而言应该让我的生活变得更轻松,但我发现文档有点......不完整.它有一个关于如何连接/断开的例子,但几乎就是这样.

我需要获取联系人列表,发送和接收消息......我该怎么做?

实际上:我在哪里可以找到教程或如何做到这一点的例子?(这里不需要写完整的tut :)

javascript xmpp

16
推荐指数
1
解决办法
2万
查看次数

使用Smack 4.1.0的GCM XMPP服务器

我正在尝试调整这里为Smack 4.1.0 提供的示例.并有点困惑.

具体来说,我很难理解GcmPacketExtension现在应该扩展什么,构造函数应该如何工作以及如何更新Providermanager.addExtensionProvider以配合它.

我敢肯定以前有人必须这样做但是我找不到任何例子,而且我似乎只是使用文档进行圈选.

任何帮助将不胜感激,我相信答案很简单!

当前代码(正在编译但未运行):

    static {

    ProviderManager.addExtensionProvider(GCM_ELEMENT_NAME, GCM_NAMESPACE, new  ExtensionElementProvider<ExtensionElement>() {
        @Override
        public DefaultExtensionElement parse(XmlPullParser parser,int initialDepth) throws org.xmlpull.v1.XmlPullParserException,
        IOException {
            String json = parser.nextText();
            return new GcmPacketExtension(json);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

和:

private static final class GcmPacketExtension extends DefaultExtensionElement   {

    private final String json;

    public GcmPacketExtension(String json) {
        super(GCM_ELEMENT_NAME, GCM_NAMESPACE);
        this.json = json;
    }

    public String getJson() {
        return json;
    }

    @Override
    public String toXML() {
        return String.format("<%s xmlns=\"%s\">%s</%s>",
                GCM_ELEMENT_NAME, GCM_NAMESPACE,
                StringUtils.escapeForXML(json), GCM_ELEMENT_NAME);
    }

    public …
Run Code Online (Sandbox Code Playgroud)

xmpp smack google-cloud-messaging server

16
推荐指数
1
解决办法
7777
查看次数

运行我自己的jabber/xmpp服务器

  1. 我可以制作自己的jabber服务器.所以,如果我运行我的网站xyz,那么人们应该能够通过在我的网站上注册从我的网站获取他们的jabber id.
  2. 有没有我可以使用的jabber服务器的开源实现?

chat xmpp

15
推荐指数
1
解决办法
3万
查看次数

amqp或xmpp用于实时在线游戏

这些技术套件适用于多用户在线游戏项目..项目要求:1.能够在任何给定时间处理2k-5k用户.2.用于iphone和android的客户端库(原生,没有javascript).3.用于Microsoft Windows的客户端库(最重要的),也用于mac os x和linux.4.专门用于mod开发的良好文档5.项目不是开源的.因此,只能使用具有适当许可证的库.

我也可以在erlang和java中编程,编程语言不是问题.

我正在研究如Openfire,Tigase,ejabberd和RabbitMQ等服务器技术.所有这些对我的项目都有好处,但我想了解更多关于我需要的套件,AMQP或XMPP.

AMQP专门为实时在线游戏提供什么.那么xmpp是更好的选择吗?

xmpp openfire ejabberd rabbitmq

15
推荐指数
3
解决办法
1万
查看次数

如何在注册用户的网站上完全集成XMPP

我们有一个社交网站,人们有联系,我们希望它与XMPP集成.我们目前使用ejabberd XMPP服务器.

这是我的问题:

  1. 如何正确创建帐户?现在,我正在考虑的是我们的网络应用程序上的用户注册,我们调用一个脚本来执行ejabberd命令来创建用户.

  2. 用户认证.用户在我们的网站上登录后,用户将自动登录聊天系统.你如何使用strophe.js在客户端执行此操作?据我所知,你需要提供JID和密码进行身份验证,所以我想在登录时会有一个ajax调用来获取用户的密码,然后在strophe.js的登录调用中使用响应文本.这样安全吗?还有其他方法吗?

  3. 在线注册.我们的网络应用程序有一个联系人系统,但XMPP有自己的方式通过在线订阅添加联系人,对吧?示例:当user1尝试添加user2时,在user1可以成为user2的联系人之前,将向user2询问授权.但由于我们的Web应用程序上已有联系人系统,因此我们希望绕过XMPP的此授权或禁止它,并在user2确认user1为我们网站上的联系人时使用脚本/命令进行授权.我还不清楚,但是一位同事说这可以在ejabberd的模块mod_admin_extra上实现(这个命令将创建订阅而无需客户端授权).是否有可能或者我必须使用脚本手动操作ejabberd数据库(前提是我从默认的Mnesia数据库转移到另一个数据库,比如MySQL).

提前致谢.

php chat xmpp ejabberd

15
推荐指数
2
解决办法
9285
查看次数

什么是聊天室软件的最佳开放协议?

我在IRC,XMPP和我拥有的第三个专有服务器之间进行比较.

每个人的利弊是什么,如果你知道任何可以提及的话,建议其他人.

irc chat xmpp protocols social-networking

15
推荐指数
2
解决办法
2万
查看次数

在切换数据连接时,Android上的XMPP消息丢失(例如,转动Wifi,GSM < - > Wifi切换)

我正在android中开发一个聊天应用程序.使用XMPP服务器.PHP服务器已迁移到ejabber.

我的通知在所有情况下都能正常运行 但在一个案例中,我正在丢失XMPP消息.事实上我没有收到通知.

详细说来,我正在关闭WiFi或数据连接.关闭WiFi或数据连接后,发送给我的任何通知都没有收到.在我打开WiFi或数据连接后,我无法收到发送给我的消息.

我已经在后台实施了服务.这使得xmpp连接永远存在.

我关闭WiFi连接时收到此错误.

java.net.SocketException: sendto failed: EPIPE (Broken pipe)
java.net.SocketException: recvfrom failed: ETIMEDOUT (Connection timed out)
   at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:506)
   at libcore.io.IoBridge.sendto(IoBridge.java:475)
   at java.net.PlainSocketImpl.write(PlainSocketImpl.java:508)
   at java.net.PlainSocketImpl.access$100(PlainSocketImpl.java:46)
   at java.net.PlainSocketImpl$PlainSocketOutputStream.write(PlainSocketImpl.java:270)
   at java.io.OutputStreamWriter.flushBytes(OutputStreamWriter.java:167)
   at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:158)
   at java.io.BufferedWriter.flush(BufferedWriter.java:124)
   at org.jivesoftware.smack.PacketWriter.writePackets(PacketWriter.java:286)
   at org.jivesoftware.smack.PacketWriter.access$12(PacketWriter.java:270)
   at org.jivesoftware.smack.PacketWriter$1.run(PacketWriter.java:137)
Caused by: libcore.io.ErrnoException: sendto failed: EPIPE (Broken pipe)
   at libcore.io.Posix.sendtoBytes(Native Method)
   at libcore.io.Posix.sendto(Posix.java:146)
   at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:177)
   at libcore.io.IoBridge.sendto(IoBridge.java:473)
   ... 9 more
   at libcore.io.IoBridge.maybeThrowAfterRecvfrom(IoBridge.java:552)
   at libcore.io.IoBridge.recvfrom(IoBridge.java:516)
   at java.net.PlainSocketImpl.read(PlainSocketImpl.java:489)
   at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)
   at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:241)
   at java.io.InputStreamReader.read(InputStreamReader.java:244)
   at java.io.BufferedReader.read(BufferedReader.java:310)
   at org.jivesoftware.smack.XMPPConnection$AliveReader.read(XMPPConnection.java:1122)
   at org.kxml2.io.KXmlParser.fillBuffer(KXmlParser.java:1496)
   at …
Run Code Online (Sandbox Code Playgroud)

android xmpp smack asmack

15
推荐指数
1
解决办法
2404
查看次数

ejabberd和推送通知

我已经使用XMPP在我的iOS和Android应用程序中集成了聊天系统.我在服务器端使用了ejabberd 2.聊天系统工作正常.我想在使用APNS和GCM的聊天中集成推送通知.如何向每条聊天消息发送推送通知?ejabberd 2有任何API或扩展可用于实现此功能吗?

帮助很高,

iphone xmpp ejabberd apple-push-notifications google-cloud-messaging

14
推荐指数
2
解决办法
9371
查看次数