WAMP server websocket handshake

#1

Hi,
This is my understanding of how WAMP works: After establishing a
websocket connection(i.e a successsful handshake),
the server sends a welcome message.Is this correct?

Autobahn>JS was recently upgraded to WAMP v2 "Basic Profile":

http://wamp.ws/spec/

For the spec to WAMP v1, that's linked in above page also.

With WAMP v2, the WAMP handshake starts with the client sending a HELLO message.

For a Autobahn.js, is the websocket protocol handshake any different
than it is while using raw ws?

The WAMP handshake only starts after the WebSocket opening handshake has already finished, and the WAMP handshake is already using WebSocket messages.

If so, how? And where can I get this sort of information?
I am writing a WAMP server(php), and I can't get autobahn to establish a
connection.It works on raw ws though(without the
Websocket-Server-Protocol header).
regards.

Ratchet, the only WAMP server I am aware of, currently is at WAMP v1.

So a WAMP v2 server would certainly be welcome!

An alternative might be to coordinate with Ratchet and consolidate efforts there .. Chris?

Cheers,
/Tobias

···

Am 03.03.2014 19:36, schrieb Grim Lodaf:

--
You received this message because you are subscribed to the Google
Groups "WAMP" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to wampws+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

0 Likes

#2

Ratchet currently supports WAMP/v1 but will support v2. Grim, if you’re willing to contribute we can work through GitHub issues around the ticket.

···

On Monday, 3 March 2014 13:42:48 UTC-5, Tobias Oberstein wrote:

Am 03.03.2014 19:36, schrieb Grim Lodaf:

Hi,

This is my understanding of how WAMP works: After establishing a

websocket connection(i.e a successsful handshake),

the server sends a welcome message.Is this correct?

Autobahn>JS was recently upgraded to WAMP v2 “Basic Profile”:

http://wamp.ws/spec/

For the spec to WAMP v1, that’s linked in above page also.

With WAMP v2, the WAMP handshake starts with the client sending a HELLO
message.

For a Autobahn.js, is the websocket protocol handshake any different

than it is while using raw ws?

The WAMP handshake only starts after the WebSocket opening handshake has
already finished, and the WAMP handshake is already using WebSocket
messages.

If so, how? And where can I get this sort of information?

I am writing a WAMP server(php), and I can’t get autobahn to establish a

connection.It works on raw ws though(without the

Websocket-Server-Protocol header).

regards.

Ratchet, the only WAMP server I am aware of, currently is at WAMP v1.

So a WAMP v2 server would certainly be welcome!

An alternative might be to coordinate with Ratchet and consolidate
efforts there … Chris?

Cheers,

/Tobias

You received this message because you are subscribed to the Google

Groups “WAMP” group.

To unsubscribe from this group and stop receiving emails from it, send

an email to wampws+un...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

0 Likes

#3

Hello,
Very sorry for the late response, can’t seem to keep up with time :frowning:
@Tobias, I couldn’t figure out why autobahn wouldn’t accept the ws handshake, built my own (very very primitive) ws client.However I realized the issue might not be with autobahn at all, but with Chrome, it seems my server receives an empty header, but Firefox connects just fine. I’ve got a bone to pick with chrome…I shall try autobahn once again later.

@Chris, sure, I’d be glad to help, but I do need this project…

once again, apologies for the late reply.

···

On Tuesday, March 4, 2014 9:33:53 PM UTC+3, Chris Boden wrote:

Ratchet currently supports WAMP/v1 but will support v2. Grim, if you’re willing to contribute we can work through GitHub issues around the ticket.

On Monday, 3 March 2014 13:42:48 UTC-5, Tobias Oberstein wrote:

Am 03.03.2014 19:36, schrieb Grim Lodaf:

Hi,

This is my understanding of how WAMP works: After establishing a

websocket connection(i.e a successsful handshake),

the server sends a welcome message.Is this correct?

Autobahn>JS was recently upgraded to WAMP v2 “Basic Profile”:

http://wamp.ws/spec/

For the spec to WAMP v1, that’s linked in above page also.

With WAMP v2, the WAMP handshake starts with the client sending a HELLO
message.

For a Autobahn.js, is the websocket protocol handshake any different

than it is while using raw ws?

The WAMP handshake only starts after the WebSocket opening handshake has
already finished, and the WAMP handshake is already using WebSocket
messages.

If so, how? And where can I get this sort of information?

I am writing a WAMP server(php), and I can’t get autobahn to establish a

connection.It works on raw ws though(without the

Websocket-Server-Protocol header).

regards.

Ratchet, the only WAMP server I am aware of, currently is at WAMP v1.

So a WAMP v2 server would certainly be welcome!

An alternative might be to coordinate with Ratchet and consolidate
efforts there … Chris?

Cheers,

/Tobias

You received this message because you are subscribed to the Google

Groups “WAMP” group.

To unsubscribe from this group and stop receiving emails from it, send

an email to wampws...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

0 Likes

#4

Hello,
Very sorry for the late response, can't seem to keep up with time :frowning:
@Tobias, I couldn't figure out why autobahn wouldn't accept the ws
handshake, built my own (very very primitive) ws client.However I

So you try to run AutobahnJS (WAMP v1 version) against Ratchet 0.3? That is supposed to work.

realized the issue might not be with autobahn at all, but with Chrome,
it seems my server receives an empty header, but Firefox connects just
fine. I've got a bone to pick with chrome...I shall try autobahn once
again later.

@Chris, sure, I'd be glad to help, but I do need this project...

Let me throw in my thoughts ..

a) a complete and interoperable WAMP v2 implementation in PHP ..
b) on top of an evented networking framework ..
c) that implements the client roles (Caller/Caller/Publisher/Subscriber)

Regarding c), that means that in

Browser (Caller) ----> XXX (Dealer) ----> PHP* (Callee)

the XXX could be any WAMP v2 router. The library for PHP would provide only *. Technically, this library would need to be a WebSocket _client_ that connects to XXX. Note that this doesn't mean that the PHP app based on the library couldn't act as a "whatever" server at the same time. The big advantage is that user can deploy any WAMP v2 router.

This is also mentioned here:
https://github.com/cboden/Ratchet/issues/168

Regarding b), my PHP insight/experience isn't sufficient. Ratchet is based on React https://github.com/reactphp/react

Regarding a): I hope to find time to extend the Autobahn testsuite for WAMP v2 soon. But I think the specification document of WAMP v2 is already orders more complete and precise than WAMP v1.

Cheers,
/Tobias

···

Am 08.03.2014 07:28, schrieb Grim Lodaf:
From my perspective, it would be awesome to have

once again, apologies for the late reply.

On Tuesday, March 4, 2014 9:33:53 PM UTC+3, Chris Boden wrote:

    Ratchet currently supports WAMP/v1 but will support v2. Grim, if
    you're willing to contribute we can work through GitHub issues
    around the ticket
    <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fcboden%2FRatchet%2Fissues%2F168&sa=D&sntz=1&usg=AFQjCNHKRa08HuGCubXR-HmJUwYmLth3Xw>.

    On Monday, 3 March 2014 13:42:48 UTC-5, Tobias Oberstein wrote:

        Am 03.03.2014 19:36, schrieb Grim Lodaf:
         > Hi,
         > This is my understanding of how WAMP works: After establishing a
         > websocket connection(i.e a successsful handshake),
         > the server sends a welcome message.Is this correct?

        Autobahn>JS was recently upgraded to WAMP v2 "Basic Profile":

        http://wamp.ws/spec/

        For the spec to WAMP v1, that's linked in above page also.

        With WAMP v2, the WAMP handshake starts with the client sending
        a HELLO
        message.

         > For a Autobahn.js, is the websocket protocol handshake any
        different
         > than it is while using raw ws?

        The WAMP handshake only starts after the WebSocket opening
        handshake has
        already finished, and the WAMP handshake is already using WebSocket
        messages.

         > If so, how? And where can I get this sort of information?
         > I am writing a WAMP server(php), and I can't get autobahn to
        establish a
         > connection.It works on raw ws though(without the
         > Websocket-Server-Protocol header).
         > regards.

        Ratchet, the only WAMP server I am aware of, currently is at
        WAMP v1.

        So a WAMP v2 server would certainly be welcome!

        An alternative might be to coordinate with Ratchet and consolidate
        efforts there .. Chris?

        Cheers,
        /Tobias

         >
         > --
         > You received this message because you are subscribed to the
        Google
         > Groups "WAMP" group.
         > To unsubscribe from this group and stop receiving emails from
        it, send
         > an email to wampws...@googlegroups.com.
         > For more options, visit
        https://groups.google.com/groups/opt_out
        <https://groups.google.com/groups/opt_out>.

--
You received this message because you are subscribed to the Google
Groups "WAMP" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to wampws+un...@googlegroups.com
<mailto:wampws+un...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.

0 Likes