标签: xmpp

smack,tinder和whack之间的区别

谁能告诉我什么是咂嘴,火种和捶打之间的区别?

是什么火种和打击苗条的版本?3个图书馆有不同的用途吗?

xmpp openfire

24
推荐指数
1
解决办法
7607
查看次数

Android P2P多人游戏(附)XMPP /谷歌谈话b)JXTA peerdroid c)其他方式)

我是一名Android开发者,我制作了一些棋盘游戏.现在我想制作一些我的棋盘游戏多人游戏.我不想创建和托管我自己的Web服务,所以我想到了P2P.

我发现的第一件事是XMPP协议,但它不是真正的P2P,但如果我可以使用现有的谷歌聊天服务,我已经准备好了.这是否可以在使用现有的Google帐户时干扰Google Talk客户端的正常工作?

然后我听说了JXTA,一个真正的P2P解决方案,它已经从J2ME移植到Android(http://code.google.com/p/peerdroid/).

也许我在这里过于复杂的事情(我有时会这样做)

我只是想知道为桌面游戏做简单P2P的最简单方法.

欢迎您的所有意见!提前致谢

jxta android xmpp google-talk

24
推荐指数
1
解决办法
8528
查看次数

如何使用Smack接收传入的XMPP消息?

我读了一些例子并对它们进行了测试,但所有这些都需要先与某人开始聊天才能收到传入的消息...我想要检索这些传入消息而不需要先与jid交谈,任何人都可以举个例子吗?

xmpp smack

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

Node.js的最佳XMPP客户端库

您对Node.js XMPP客户端库有什么经验?您有什么推荐的吗?

xmpp node.js

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

当用户失去连接时,ejabberd在线状态

我有ejabberd设置为移动应用程序之间的xmpp服务器,即.自定义iPhone和Android应用.

但我似乎陷入了对ejabberd处理在线状态的限制.

场景:

  • 用户A通过他们的手机向用户B发送消息.
  • 用户B失去所有连接,因此客户端无法与服务器断开连接.
  • ejabberd仍然将用户B列为在线.
  • 由于ejabberd假定用户B仍在线,因此来自用户A的任何消息都会传递给死连接.
  • 因此,用户B将不会收到消息,也不会将其保存为脱机消息,因为ejabberd假定用户在线.
  • 消息丢失了.
  • 在ejabberd意识到连接过时之前,它会将其视为在线用户.

并投入数据连接变化(wifi到3G到4G ......)你会发现这种情况发生了很多.

mod_ping:

我尝试以10秒的间隔实现mod_ping.
https://www.process-one.net/docs/ejabberd/guide_en.html#modping
但是正如文档所述,在断开用户连接之前,ping将等待32秒以进行响应.
这意味着将有一个42秒的窗口,用户可能会丢失其消息.

理想方案:

即使ping等待时间可以减少,它仍然不是一个完美的解决方案.
有没有一种方法可以让ejabberd在丢弃消息之前等待来自客户端的200响应?如果没有响应,则将其保存为脱机.
是否可以编写一个钩子来解决这个问题?
或者是否有一个我错过的简单设置?

仅供参考:我没有使用BOSH.

erlang xmpp ejabberd

23
推荐指数
2
解决办法
7964
查看次数

使用Smack 4.1的XMPP客户端在登录期间给出NullPointerException

我正在尝试使用Smack 4.1.0-rc3来实现连接到ejabberd xmpp服务器的java xmpp客户端.我使用以下代码连接到服务器.

    XMPPTCPConnectionConfiguration connConfig =    XMPPTCPConnectionConfiguration
            .builder()
            .setServiceName("example.com")
            .setHost("192.168.56.101")
            .setPort(5222)
            .setCompressionEnabled(false)
            .setSecurityMode(SecurityMode.disabled)
            .setHostnameVerifier(new HostnameVerifier() {
                public boolean verify(String arg0, SSLSession arg1) {
                    return true;
                }
            })
            .setUsernameAndPassword(user, pass).build();

    connection = new XMPPTCPConnection(connConfig);
    connection.connect();
    connection.login();
Run Code Online (Sandbox Code Playgroud)

执行'connection.login()'时,我得到以下NullPointerException.

Exception in thread "main" java.lang.NullPointerException
at org.jivesoftware.smack.util.stringencoder.Base64.encode(Base64.java:64)
at org.jivesoftware.smack.util.stringencoder.Base64.encode(Base64.java:60)
at org.jivesoftware.smack.util.stringencoder.Base64.encodeToString(Base64.java:42)
at org.jivesoftware.smack.sasl.SASLMechanism.authenticate(SASLMechanism.java:199)
at org.jivesoftware.smack.sasl.SASLMechanism.authenticate(SASLMechanism.java:169)
at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:236)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.loginNonAnonymously(XMPPTCPConnection.java:365)
at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:452)
at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:410)
at org.org.oodlezz.unio.jabber.client.XmppClient.connect(XmppClient.java:88)
at org.org.oodlezz.unio.jabber.client.Client.main(Client.java:32)
Run Code Online (Sandbox Code Playgroud)

我在代码中做错了吗?你能指点一下使用Smack 4.1.0-rc3的正确例子吗?

java xmpp ejabberd smack

23
推荐指数
3
解决办法
6706
查看次数

GAE可以充当XMPP服务器吗?

我正在考虑使用GAE构建一个多人游戏.当玩家A移动时,我想记录细节,然后让玩家B知道移动.

我想我可能会在我的客户端获得一些开源XMPP库,如果可能的话,通知我的应用程序存在?我不想强迫玩家注册像google talk这样的服务,所以我会根据会话ID动态生成jid.

想听听你的意见!

谢谢

google-app-engine xmpp

21
推荐指数
1
解决办法
7736
查看次数

带有Socket.io模块和XMPP的Node.js - 优点和缺点

我有一个带有Socket.io聊天应用程序的Node.js和一个XMPP Openfire聊天系统.我期待用Node.js和Socket.io替换XMPP.但是,有人说,带有Socket.io的Node.js会出现问题,如果服务器崩溃并重新上线,则会产生瓶颈综合症,或者可能无法重新连接10,000个在线用户.真的吗?

另一个问题.在什么情况下XMPP比Socket.io更合适,反之亦然?

xmpp node.js socket.io

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

Google聊天服务器存档(XEP-0136)

我正在寻找一种方法如何通过使用XEP-0136标准从谷歌服务器检索聊天消息的存档,但我得到这些结果只是试图要求该功能.

请求:

<iq type="get"><pref xmlns="urn:xmpp:archive"/></iq>
Run Code Online (Sandbox Code Playgroud)

响应:

<iq xmlns="jabber:client" type="error" to="myEmail@gmail.com/9FF72CA7">
    <pref xmlns="urn:xmpp:archive"/>
        <error code="501" type="cancel">
            <feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
        </error>
</iq>
Run Code Online (Sandbox Code Playgroud)

所以看起来谷歌没有实现这个功能,但这是真的吗?我不这么认为.

尝试设置Google服务器肯定支持的隐身也是如此.

请求:

<iq type="set" id="invisible1" from="myEmail@gmail.com/00230F07">
    <query xmlns="jabber:iq:privacy">
        <active name="invisible"/>
    </query>
</iq>
Run Code Online (Sandbox Code Playgroud)

响应:

<iq xmlns="jabber:client" type="error" id="invisible1" to="myEmail@gmail.com/00230F07">
    <query xmlns="jabber:iq:privacy">
        <active name="invisible"/>
    </query>
    <error code="501" type="cancel">
        <feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
    </error>
</iq>
Run Code Online (Sandbox Code Playgroud)

所以我可能做错了什么.任何帮助将不胜感激.

chat xmpp archive google-talk

21
推荐指数
2
解决办法
2576
查看次数

当Corp阻止此功能时,如何保存Lync对话历史记录?

我正在使用Lync 2010(4.0.7577.4356),我们在我的小型开发团队中用于IM'ing.通过该计划处理大量技术问答,以及许多其他需要记录的项目.不幸的是,我们的母公司有一个关闭"对话历史"的政策,所以一旦窗口关闭,它就会消失.

我做了一些研究,我没有找到保存这些数据的方法,因为设置是在我们母公司的级别(通过Active Directory,或其他)进行的.这是我们需要的信息,甚至我的老板也试图找到一种方法来保存这些信息(在关闭窗口或计算机之前,所有内容都不能复制粘贴所有内容).

我怎样才能完成这项任务?有没有可以保存这些对话的程序(免费软件或其他)?有没有人知道我可以将Lync(即时消息传递模块)连接到另一个即时消息(GTalk,Jabber,ICQ,Yahoo或其他)的方式 - 然后从那里记录每条消息?我是一名软件开发人员,所以如果有人知道与Lync通信的方式,并且能够访问这些消息,那也会有所帮助!

此时的任何事情都会有所帮助......在此先感谢!!!

-Panuvin

xmpp lync lync-2010 office365

21
推荐指数
3
解决办法
4万
查看次数