我可以与其他客户认证,包括SleekXMPP和Strophe.

在Ubuntu 12.04上使用Prosody 0.8.2,在jaxl上使用最新的主HEAD
(2518a44b9dfeb9ec947922f078cf4f8663497712).

代码:

require 'JAXL/jaxl.PHP';
$cli = new JAXL(array(
  'jid' => 'yang@localhost','pass' => 'asdf','bosh_url' => 'http://localhost/chat/candy/example/http-bind/'
));
$cli->add_cb('on_auth_success',function() {
  print 'yay';
});
$cli->start();

来自客户:

<body xmlns="http://jabber.org/protocol/httpbind" content="text/xml; charset=utf-8" to="localhost" route="xmpp:localhost:5222" secure="true" xml:lang="en" xmpp:version="1.0" xmlns:xmpp="urn:xmpp:xbosh" hold="1" wait="30" rid="3937" ver="1.10" from="yang@localhost"></body>

来自服务器:

<body authid='72604504-a5be-4ab6-aba0-9686cca478f3' xmpp:version='1.0'
xmlns:stream='http://etherx.jabber.org/streams'
xmlns:xmpp='urn:xmpp:xbosh' inactivity='60' wait='30' polling='5'
secure='true' hold='1' from='localhost' ver='1.6'
sid='72604504-a5be-4ab6-aba0-9686cca478f3' requests='2'
xmlns='http://jabber.org/protocol/httpbind'>

来自客户:

<body sid="72604504-a5be-4ab6-aba0-9686cca478f3" rid="3938" xmlns="http://jabber.org/protocol/httpbind"><auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1">biwsbj15YW5nQGxvY2FsaG9zdCxyPVpRWUp0b1JwUXMwTlFkYlJ3VnlNT1FvQXN5bnhLWlN1OUpocjdVeTdkbFE9</auth></body>

来自服务器:

<body xmlns='http://jabber.org/protocol/httpbind'
sid='72604504-a5be-4ab6-aba0-9686cca478f3' xmlns:stream =
'http://etherx.jabber.org/streams'>

来自客户:

<body xmlns="http://jabber.org/protocol/httpbind" sid="72604504-a5be-4ab6-aba0-9686cca478f3" rid="3939"></body>

来自Prosody日志:

Oct 25 01:18:53 socket        debug   server.lua: accepted new client
connection from 127.0.0.1:41313 to 5280
Oct 25 01:18:53 mod_bosh        debug   BOSH body open (sid: %s)
Oct 25 01:18:53 bosh9096614e-a319-4234-b281-d5806b7bc558        debug
 BOSH session created for request from 127.0.0.1
Oct 25 01:18:53 mod_bosh        info    New BOSH session,assigned it
sid '9096614e-a319-4234-b281-d5806b7bc558'
Oct 25 01:18:53 httpserver      debug   Sending response to c890f0
Oct 25 01:18:53 httpserver      debug   Destroying request c890f0
Oct 25 01:18:53 httpserver      debug   Request has destroy callback
Oct 25 01:18:53 socket  debug   server.lua: closed client handler and
removed socket from list
Oct 25 01:18:53 mod_bosh        debug   Session
9096614e-a319-4234-b281-d5806b7bc558 has 0 out of 1 requests open
Oct 25 01:18:53 mod_bosh        debug   and there are 0 things in the
send_buffer
Oct 25 01:18:53 socket  debug   server.lua: accepted new client
connection from 127.0.0.1:41314 to 5280
Oct 25 01:18:53 mod_bosh        debug   BOSH body open (sid:
9096614e-a319-4234-b281-d5806b7bc558)
Oct 25 01:18:53 mod_bosh        debug   BOSH stanza received: <auth
mechanism='SCRAM-SHA-1' xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>

Oct 25 01:18:53 bosh9096614e-a319-4234-b281-d5806b7bc558        debug
 Received[c2s_unauthed]: <auth mechanism='SCRAM-SHA-1'
xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
Oct 25 01:18:53 auth_internal_plain     debug   NODEprep Failed on
username: yang@localhost
Oct 25 01:18:53 localhost:saslauth      debug   sasl reply: <failure
xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><not-authorized/></failure>
Oct 25 01:18:53 mod_bosh        debug   We have an open request,so
sending on that
Oct 25 01:18:53 httpserver      debug   Sending response to ccd1d0
Oct 25 01:18:53 httpserver      debug   Destroying request ccd1d0
Oct 25 01:18:53 httpserver      debug   Request has destroy callback
Oct 25 01:18:53 bosh9096614e-a319-4234-b281-d5806b7bc558        debug
 BOSH session marked as inactive at 1351153133
Oct 25 01:18:53 socket  debug   server.lua: closed client handler and
removed socket from list
Oct 25 01:18:53 mod_bosh        debug   Destroying the request Now...
Oct 25 01:18:53 httpserver      debug   Destroying request ccd1d0
Oct 25 01:18:53 mod_bosh        debug   Session
9096614e-a319-4234-b281-d5806b7bc558 has 0 out of 1 requests open
Oct 25 01:18:53 mod_bosh        debug   and there are 0 things in the
send_buffer
Oct 25 01:18:53 socket  debug   server.lua: accepted new client
connection from 127.0.0.1:41315 to 5280
Oct 25 01:18:53 mod_bosh        debug   BOSH body open (sid:
9096614e-a319-4234-b281-d5806b7bc558)
Oct 25 01:18:53 mod_bosh        debug   Session
9096614e-a319-4234-b281-d5806b7bc558 has 1 out of 1 requests open
Oct 25 01:18:53 mod_bosh        debug   and there are 0 things in the
send_buffer
Oct 25 01:18:53 mod_bosh        debug   Have nothing to say,so
leaving request unanswered for Now
Oct 25 01:18:53 httpserver      debug   Request d8b230 left open,on_destroy is function(mod_bosh.lua:81)
Oct 25 01:18:53 bosh67a53eee-1bdb-41f6-98cb-2413808fad65        debug
 BOSH client inactive too long,destroying session at 1351153133
Oct 25 01:18:53 bosh67a53eee-1bdb-41f6-98cb-2413808fad65        info
 Destroying session for (unkNown) ((unkNown)@localhost)

有任何想法吗?在此先感谢您的帮助.

正如日志所述,Prosody未通过身份验证.请尝试使用PLAIN,DIGEST-MD5,ANONYMOUS身份验证机制之一,它应该工作正常. SCRAM-SHA-1和CRAM-MD5目前在JAXL v3.x中都已中断.如果它仍然不起作用,请告诉我.

php – jaxl无法连接到Prosody的更多相关文章

  1. ios – XMPP应用终止而不是回复消息

    我在XMPP应用程序中工作.当我终止并杀死我的应用程序时,1)XMPP服务器中未连接用户.用户离线.但我希望用户连接和在线.喜欢WhatsApp(应用).2)我当时无法从XMPP服务器端获取任何消息,这种方法不是调用.那么,我如何获得消息?

  2. XMPP iOS框架检测与OpenFire服务器的互联网断开连接问题

    我已经使用XMPPiOS框架与OpenFire服务器实现聊天应用程序.幸运的是,应用程序正在运行,但我在应用程序中面临一个互联网断开的问题.当用户正在注销或手动进入离线模式时,它会将节发给他/她的名单.所以他/她的名单知道用户进入离线模式.现在当互联网从用户设备断开连接时,由于互联网断开,应用程序无法向服务器发送存在节.所以他/她的名单将不会获得关于该离线用户的信息,用户将只显示在线模式.我认为像

  3. android – 如何在材料设计中的工具栏上添加搜索按钮

    我试图在弹出的设置左侧添加搜索按钮,但我无法添加工具栏.这是我的menu.xml代码:这是我的toolbar.xml:我正在获取工具栏但没有获得搜索按钮?

  4. 在android中创建聊天应用程序的最佳做法是什么

    我打算创建一个Android聊天应用程序.实际上聊天将成为应用程序的一项功能.我想知道有关Android聊天应用程序的最佳实践.我熟悉的两个选项是C2MD,每隔几秒就会对服务器db进行一次自定义轮询.现在,我知道C2MD本来应该是伟大的,但根据我的理解,它并不可靠.我试图实现它,它似乎没有工作.此外,如果由于某种原因谷歌结束时发生了某些事情(就像他们的服务器已关闭–不太可能但可能发生)我无法联系他

  5. Smack(XMPP)聊天应用程序的Android后台服务

    我正在使用asmack库实现一个聊天应用程序.我想启动一个始终运行的服务,其中所有的连接管理任务都要完成,并且应该继续接收传入的数据包并将消息保存在我的sqlite数据库中.当我的应用程序启动时,我希望我的应用程序也会收到通知,而后台服务将消息插入sqlite数据库.如何用粘性服务实现这种结构.是否还需要部分唤醒锁定.因为,有时也会根据特定需求使用http来下载图像.解决方法您可以在服务器上注册后

  6. android – 为标记片段找到意外的名称空间前缀“xmlns”为标记片段找到的意外名称空间前缀“map”

    为标记片段找到的意外名称空间前缀“xmlns”的原因为标记片段找到了意外的命名空间前缀“map”?

  7. android – 如何使用Smack了解XMPP openfire中的键入状态

    我正在使用OpenfireXMPP服务器开发聊天应用程序.我可以在两个用户之间进行文字聊天但我想知道某人输入消息时的打字状态.所以我创建了一个类:–但我很困惑,所以它将如何运作?我知道我需要一个数据包,我可以在Listener中使用它.但我无法找到该数据包.请任何人建议,它将如何运作?还有Smack和asmack有什么区别?解决方法要启用ChatStateListener,您需要创建自定义MessageListener类然后创建MessageListener对象然后在createchat方法中传递它Sma

  8. android – 如何添加和订阅jabber条目到我的XMPP帐户?

    >如何获取入站在线通知?>如何发送出站在线通知?

  9. 使用Smack for Android实现FCM与XMPP

    我正在使用XMPP在我的Android应用程序中实现聊天,我已经使用了SmackAPI.我的聊天工作正常,我在本地保存Android设备上的所有聊天消息.以下是我目前面临的一些问题.>在聊天期间,如果某种方式连接丢失,那么它需要很长时间再次重新连接,有时它甚至没有连接.即使之后连接已连接,停止发送聊天消息,因为它不再在另一边接收.我有再次初始化资源但有时会有效>如果我的USER断开连接,我想使用F

  10. 在哪里可以找到Microsoft docx格式的架构(.xsd文件)

    考虑一个需要docx文档文本而没有用于在R中处理的页眉和页脚的用户.如果将file.docx重命名为file.zip并分析文档document.xml,那么它就是一个包含文本的格式良好的XML文档.Microsfot是否在docx文件的ZIP包中发布了此document.xml子文件的架构?

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部