Looking for a good PHP Websocket Client

591 views
Skip to first unread message

Matt Bonneau

unread,
Jun 13, 2014, 10:30:57 AM6/13/14
to ratch...@googlegroups.com
We are working on a WAMP2 library for PHP (https://github.com/voryx/AutobahnPHP). I am currently using Ratchet for the Websocket server transport. This has been a great help. I have found various Websocket client implementations, but none seem to be nearly as complete or faithful to specs as Ratchet is.

Any help in locating a good Websocket client for PHP would be greatly appreciated.

I have looked at possibly using https://github.com/reactphp/http-client as a starting point, but would obviously appreciate any info.

Thanks,
Matt

cboden

unread,
Jun 13, 2014, 8:49:34 PM6/13/14
to ratch...@googlegroups.com
Hi Matt,

I've gradually been working on a WebSocket client; I'll see if I can release an alpha this weekend - I can never make up my mind about the API.

There is a PR open beginning work on WAMPv2 for Ratchet; would you consider collaborating with the PR and Ratchet?

If not, please be aware Autobahn is the company that created the WAMP protocol, they will not want you using that to name your project (I already tried with Ratchet originally because of what WAMP is also an acronym for) :)

Cheers.

tobias.o...@gmail.com

unread,
Jun 15, 2014, 12:49:55 AM6/15/14
to ratch...@googlegroups.com
Hi Matt,

A PHP WAMP2 implementation would be great! A couple of people have asked for it. A project name not containing "Autobahn" is indeed be better to avoid confusion with the Autobahn project - would be awesome if you could come up with a different one. Or join the Ratchet efforts implementing WAMP2. E.g. Ratchet has a user base with WAMP1 already. But in any case: thanks for working on this with PHP!

Cheers,
/Tobias

cboden

unread,
Jun 15, 2014, 1:48:06 PM6/15/14
to ratch...@googlegroups.com, tobias.o...@gmail.com
I've posted the first iteration of Pawl, Ratchet's WebSocket client. It's currently passing about 1/2 of the AB tests (2/3 if you don't count binary messaging). It's passing the fragmentation and limits/performances sections well, which is the most important part. Most of the failing bits are OP code and closing handshake things. I need to refactor a bit of Ratchet's RFC6455 version handler so I can just throw the same rules at the client without having to re-code them again. 

Matt Bonneau

unread,
Jun 16, 2014, 10:12:50 AM6/16/14
to ratch...@googlegroups.com
Hi Chris,

We started out implementing WAMP2 inside of the Ratchet project but decided to bring it out on its own because we wanted to implement it in a transport-independent way. I have also looked at the PR and it looks like that implementation differs from the direction we are going.

I would like to contribute back what I can to the Ratchet project as it was the starting point (and we are dependent on it for the websocket server, and soon, the websocket client) for some of the work that we are doing now and would be open to suggestions on ways to do that.

We are working to get a turnkey WAMP2 implementation for both client and server that is as easy as possible to setup and get working to promote more adoption (and hopefully get more people contributing).

Thank you for getting Pawl out so quickly – I have starting implementing the client transport in our project with it.

Tobias – we are working on thinking up a new name and will hopefully have that changed soon. Like Chris said, we had difficulty with using WAMP in the name as it is easily recognizable as something else and we don't want people to get confused.

Thanks,
Matt
Reply all
Reply to author
Forward
0 new messages