jaxl / JAXL

Asynchronous, non-blocking I/O, event based PHP library for writing custom TCP/IP client and server implementations. From it's previous versions, library inherits a full blown stable support for XMPP protocol stack. In v3.0, support for HTTP protocol stack was also added.
http://jaxl.readthedocs.org/
Other
379 stars 121 forks source link

Possibly bug found (BOSH) not able to connect over bosh #77

Open tenmoced opened 7 years ago

tenmoced commented 7 years ago

When using bosh, jaxl gave me the following error:

PHP Catchable fatal error: Argument 1 passed to JAXL::require_xep() must be of the type array, string given, called in ....../jaxl.php on line 228 and defined in .../jaxl.php on line 282

I've edit jaxl.php line 282 replaced: _public function requirexep(array $xeps) with: _public function requirexep($xeps)

because: _if (!is_array($xeps)) { $xeps = array($xeps); } if (!isarray($xeps)) { $xeps = array($xeps); }

... hope, this may help others.

tenmoced commented 7 years ago

After two days, still not able to connetct over BOSH to my Prosody for pre-binding. Jaxl hangs on Connect ... Connect for simply sending messages is working well.

error-log says: _got invalid return value from state handler 'wait_for_stream_features', sending end stream... [19-Oct-2016 15:32:21 Europe/Berlin] [mxmpp_stream:137 - 2016-10-19 15:32:21 - state handler 'loggedout' returned N;, kindly report this to developers

Candy/Strophe over BOSH and moreover Xabber and PSI connecting flawless.

Now giving up.

lrirwin commented 5 years ago

From: https://community.cisco.com/t5/collaboration-blogs/php-and-cisco-im-p-jabber/ba-p/3662284 Edit jaxl.php and change this: $this->require_xep('0206'); To this: $this->require_xep(array('0206')); Reason: The require_xep method takes an array as an argument. There are other possible fixes, but this is the simplest. This should fix any problems you might have connecting using HTTP/BOSH.