Я проделал довольно много работы над XMPPHP, особенно над BOSH-частью (которая до недавнего времени даже не работала).http://github.com/Wordi/xmpphp
В моем случае я использую его для начальной загрузки клиента пользовательского интерфейса и обеспечения возможности автоматического входа для XMPP BOSH.
class Library_BOSH extends XMPPHP_BOSH
{
public function getAutoLoginInfo()
{
return array(
"jid" => $this->fulljid,
"rid" => $this->rid,
"sid" => current( $this->sid )
);
}
//we want to block saving the BOSH session into our $_SESSION,
//since we're just using it to bootstrap the UI client
public function saveSession(){;}
}
$bosh = new Library_BOSH(
$server_address, $server_port,
$jid, $password,
NULL, NULL, FALSE, XMPPHP_Log::LEVEL_VERBOSE
);
$bosh->connect( "http://myboshdomain.com/http-bind/", 60 );
$bosh->processUntil('session_start', 5);
$bosh_info = $bosh->getAutoLoginInfo();