我可以与其他客户进行身份验证,包括SleekXMPP和Strophe。
在Ubuntu 12.04上使用Prosody 0.8.2和最新的pearhub / cwXMPPHP(0.0.2)。
代码:
require 'XMPPHP/BOSH.php';
$conn = new XMPPHP_BOSH('localhost', 5280, 'yang@localhost', 'asdf', 'xmpphp', 'localhost', $printlog=true, $loglevel=XMPPHP_Log::LEVEL_VERBOSE);
$conn->autoSubscribe();
$conn->connect('http://localhost/chat/candy/example/http-bind/');
来自客户:
<body xmlns="http://jabber.org/protocol/httpbind" xmlns:xmpp="urn:xmpp:xbosh" content="text/xml; charset=utf-8" rid="3001" lang="en" hold="1" to="localhost" route="xmpp:localhost:5280" secure="true" xmpp:version="1.6" wait="1" ack="1" xmpp="urn:xmpp:xbosh"/>
来自服务器:
<body authid='ceb81a64-8fd4-485e-8b55-d848d1cef249' xmpp:version='1.0' xmlns:stream='http://etherx.jabber.org/streams' xmlns:xmpp='urn:xmpp:xbosh' inactivity='60' wait='1' polling='5' secure='true' hold='1' from='localhost' ver='1.6' sid='ceb81a64-8fd4-485e-8b55-d848d1cef249' requests='2' xmlns='http://jabber.org/protocol/httpbind'>
输出:
$ php login.php
127.0.0.1 - - [25/Oct/2012:02:02:38 -0700] "POST /chat/candy/example/http-bind/ HTTP/1.1" 200 477 "-" "-"
PHP Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Start tag expected, '<' not found in /usr/share/php/XMPPHP/BOSH.php on line 75
PHP Warning: SimpleXMLElement::__construct(): in /usr/share/php/XMPPHP/BOSH.php on line 75
PHP Warning: SimpleXMLElement::__construct(): ^ in /usr/share/php/XMPPHP/BOSH.php on line 75
PHP Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /usr/share/php/XMPPHP/BOSH.php:75
Stack trace:
#0 /usr/share/php/XMPPHP/BOSH.php(75): SimpleXMLElement->__construct('?????????????R?...')
#1 /home/yang/chat/login.php(39): XMPPHP_BOSH->connect('http://localhos...')
#2 {main}
thrown in /usr/share/php/XMPPHP/BOSH.php on line 75
Prosody服务器日志:
$ Oct 25 02:02:38 socket debug server.lua: accepted new client connection from 127.0.0.1:41407 to 5280
Oct 25 02:02:38 mod_bosh debug BOSH body open (sid: %s)
Oct 25 02:02:38 bosh869caf76-5a90-4d5f-9a75-6bc1dd54a5f5 debug BOSH session created for request from 127.0.0.1
Oct 25 02:02:38 mod_bosh info New BOSH session, assigned it sid '869caf76-5a90-4d5f-9a75-6bc1dd54a5f5'
Oct 25 02:02:38 httpserver debug Sending response to c5fa80
Oct 25 02:02:38 httpserver debug Destroying request c5fa80
Oct 25 02:02:38 httpserver debug Request has destroy callback
Oct 25 02:02:38 socket debug server.lua: closed client handler and removed socket from list
Oct 25 02:02:38 mod_bosh debug Session 869caf76-5a90-4d5f-9a75-6bc1dd54a5f5 has 0 out of 1 requests open
Oct 25 02:02:38 mod_bosh debug and there are 0 things in the send_buffer
有什么想法吗?提前感谢您的帮助。