Does Autobahn|JS really support WAMPv2's Advanced Profile?

#1

In the table, http://wamp.ws/implementations/, it shows that the Advanced Profile is supported by AutobahnJS.

But I don’t see any tutorials like , how to turn on the longpooling fallback, how to take use the heartbeat feature.

Does Autobahn|JS really support WAMPv2’s Advanced Profile?

0 Likes

#2

I found this source file https://github.com/tavendo/AutobahnJS/blob/master/package/lib/longpoll.js
It seems the long-pool is still far from completion.

And it takes use of XMLHttpRequest to send the request, which means it will have problem for cross-domain access as not all browsers supports CORS.

Better use JSONP to pool the server output and classic form post for message sending.

This is how we are doing for fallback support for WAMP v1.

···

On Tuesday, July 8, 2014 5:01:10 PM UTC+8, Jerry Wang wrote:

In the table, http://wamp.ws/implementations/, it shows that the Advanced Profile is supported by AutobahnJS.

But I don’t see any tutorials like , how to turn on the longpooling fallback, how to take use the heartbeat feature.

Does Autobahn|JS really support WAMPv2’s Advanced Profile?

0 Likes

#3

Hi Jerry!

Two general points:

  • The WAMP Advanced profile is partially still in flux

  • Implementation of the parts that are already fully specified and stable is underway, feature-by-feature.
    Regarding the two points you mentioned:

  • Long polling is implemented in Autobahn|Python, it will follow in Autobahn|JS within the coming weeks.

  • Heartbeats is on the implementation roadmap (sorry, can’t be more specific than this).

Regards,

Alex

···

Am Dienstag, 8. Juli 2014 11:01:10 UTC+2 schrieb Jerry Wang:

In the table, http://wamp.ws/implementations/, it shows that the Advanced Profile is supported by AutobahnJS.

But I don’t see any tutorials like , how to turn on the longpooling fallback, how to take use the heartbeat feature.

Does Autobahn|JS really support WAMPv2’s Advanced Profile?

0 Likes

#4

… and one more point:

The WAMP basic profile is necessarily fully supported.

The WAMP Advanced Profile is a collection from which implementations pick what they want.

···

Am Dienstag, 8. Juli 2014 12:33:02 UTC+2 schrieb Jerry Wang:

I found this source file https://github.com/tavendo/AutobahnJS/blob/master/package/lib/longpoll.js
It seems the long-pool is still far from completion.

And it takes use of XMLHttpRequest to send the request, which means it will have problem for cross-domain access as not all browsers supports CORS.

Better use JSONP to pool the server output and classic form post for message sending.

This is how we are doing for fallback support for WAMP v1.

On Tuesday, July 8, 2014 5:01:10 PM UTC+8, Jerry Wang wrote:

In the table, http://wamp.ws/implementations/, it shows that the Advanced Profile is supported by AutobahnJS.

But I don’t see any tutorials like , how to turn on the longpooling fallback, how to take use the heartbeat feature.

Does Autobahn|JS really support WAMPv2’s Advanced Profile?

0 Likes

#5

Thank you Alex

it will follow in Autobahn|JS within the coming weeks.

Do you have an accurate estimation on when the long-polling could be released in AutobahnJS?

Because we are upgrading our service from WAMP v1 to v2 now, and in WAMP v1, we already have fallback support.

If it is true that long-polling feature of Autobahn|JS will come out in 4 or 6 weeks, we don’t need implement our own fallback for WAMP v2 again.

From our experience, fallback is necessary not only for old web browsers.

but also the websocket connection could be blocked by HTTP proxy even the web browser supports it.

That’s why we really need it.

Br.

···

On Tuesday, July 8, 2014 6:41:34 PM UTC+8, Alexander Gödde wrote:

Hi Jerry!

Two general points:

  • The WAMP Advanced profile is partially still in flux
  • Implementation of the parts that are already fully specified and stable is underway, feature-by-feature.
    Regarding the two points you mentioned:
  • Long polling is implemented in Autobahn|Python, it will follow in Autobahn|JS within the coming weeks.
  • Heartbeats is on the implementation roadmap (sorry, can’t be more specific than this).

Regards,

Alex

Am Dienstag, 8. Juli 2014 11:01:10 UTC+2 schrieb Jerry Wang:

In the table, http://wamp.ws/implementations/, it shows that the Advanced Profile is supported by AutobahnJS.

But I don’t see any tutorials like , how to turn on the longpooling fallback, how to take use the heartbeat feature.

Does Autobahn|JS really support WAMPv2’s Advanced Profile?

0 Likes

#6

Thank you Alex

    it will follow in Autobahn|JS within the coming weeks.

Do you have an accurate estimation on when the long-polling could be
released in AutobahnJS?

No.

Because we are upgrading our service from WAMP v1 to v2 now, and in WAMP
v1, we already have fallback support.
If it is true that long-polling feature of Autobahn|JS will come out in
4 or 6 weeks, we don't need implement our own fallback for WAMP v2 again.

From our experience, fallback is necessary not only for old web browsers.
but also the websocket connection could be blocked by HTTP proxy even
the web browser supports it.

Use WSS.

That's why we really need it.

Sure. Go ahead! We are accepting pull requests.

/Tobias

···

Am 08.07.2014 13:35, schrieb Jerry Wang:

Br.

On Tuesday, July 8, 2014 6:41:34 PM UTC+8, Alexander Gödde wrote:

    Hi Jerry!

    Two general points:

      * The WAMP Advanced profile is partially still in flux
      * Implementation of the parts that are already fully specified and
        stable is underway, feature-by-feature.

    Regarding the two points you mentioned:

      * Long polling is implemented in Autobahn|Python, it will follow
        in Autobahn|JS within the coming weeks.
      * Heartbeats is on the implementation roadmap (sorry, can't be
        more specific than this).

    Regards,

    Alex

    Am Dienstag, 8. Juli 2014 11:01:10 UTC+2 schrieb Jerry Wang:

        In the table, http://wamp.ws/implementations/
        <http://wamp.ws/implementations/>, it shows that the Advanced
        Profile is supported by AutobahnJS.

        But I don't see any tutorials like , how to turn on the
        longpooling fallback, how to take use the heartbeat feature.

        Does Autobahn|JS really support WAMPv2's Advanced Profile?

--
You received this message because you are subscribed to the Google
Groups "Autobahn" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to autobahnws+...@googlegroups.com
<mailto:autobahnws+...@googlegroups.com>.
To post to this group, send email to autob...@googlegroups.com
<mailto:autob...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/autobahnws/2cc4a818-2c85-43b0-a2fa-72df208badb5%40googlegroups.com
<https://groups.google.com/d/msgid/autobahnws/2cc4a818-2c85-43b0-a2fa-72df208badb5%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

0 Likes

#7

We always use WSS and it does not help.
Product like this one totally blocks web socket and only allows classic HTTP(s) transimission, the websocket handshake can’t be completed at all.

···

On Tuesday, July 8, 2014 7:55:14 PM UTC+8, Tobias Oberstein wrote:

Am 08.07.2014 13:35, schrieb Jerry Wang:

Thank you Alex

it will follow in Autobahn|JS within the coming weeks.

Do you have an accurate estimation on when the long-polling could be

released in AutobahnJS?

No.

Because we are upgrading our service from WAMP v1 to v2 now, and in WAMP

v1, we already have fallback support.

If it is true that long-polling feature of Autobahn|JS will come out in

4 or 6 weeks, we don’t need implement our own fallback for WAMP v2 again.

From our experience, fallback is necessary not only for old web browsers.

but also the websocket connection could be blocked by HTTP proxy even

the web browser supports it.

Use WSS.

That’s why we really need it.

Sure. Go ahead! We are accepting pull requests.

/Tobias

Br.

On Tuesday, July 8, 2014 6:41:34 PM UTC+8, Alexander Gödde wrote:

Hi Jerry!
Two general points:
  * The WAMP Advanced profile is partially still in flux
  * Implementation of the parts that are already fully specified and
    stable is underway, feature-by-feature.
Regarding the two points you mentioned:
  * Long polling is implemented in Autobahn|Python, it will follow
    in Autobahn|JS within the coming weeks.
  * Heartbeats is on the implementation roadmap (sorry, can't be
    more specific than this).
Regards,
Alex
Am Dienstag, 8. Juli 2014 11:01:10 UTC+2 schrieb Jerry Wang:
    In the table, [http://wamp.ws/implementations/](http://wamp.ws/implementations/)
    <[http://wamp.ws/implementations/](http://wamp.ws/implementations/)>, it shows that the Advanced
    Profile is supported by AutobahnJS.
    But I don't see any tutorials like , how to turn on the
    longpooling fallback,  how to take use the heartbeat feature.
    Does Autobahn|JS really support WAMPv2's Advanced Profile?

You received this message because you are subscribed to the Google

Groups “Autobahn” group.

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

an email to autobahnws+...@googlegroups.com

mailto:autobahnws+unsub...@googlegroups.com.

To post to this group, send email to auto...@googlegroups.com

mailto:autob...@googlegroups.com.

To view this discussion on the web visit

https://groups.google.com/d/msgid/autobahnws/2cc4a818-2c85-43b0-a2fa-72df208badb5%40googlegroups.com

<https://groups.google.com/d/msgid/autobahnws/2cc4a818-2c85-43b0-a2fa-72df208badb5%40googlegroups.com?utm_medium=email&utm_source=footer>.

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

0 Likes

#8

We always use WSS and it does not help.

It does, unless you are deploying TLS interceptors (lacking WebSocket support).

Product like this one
<https://www.barracuda.com/products/webfilter> totally blocks web socket
and only allows classic HTTP(s) transimission, the websocket handshake
can't be completed at all.

People should simply stop deploying TLS interceptors. It breaks user's privacy. I won't waste time contemplating on how to make those boxes "work".

Note that boxes like above often have issues with HTTP long-polling also. Essentially, they break the Web. So even when AutobahnJS supports WAMP long-poll, it probably won't work with that box.

/Tobias

···

Am 08.07.2014 14:05, schrieb Jerry Wang:

0 Likes

#9

Not quite sure about that as HTTPS works but WSS does not.
Anyway, from my opinion, “proxy” is out of the scope and application only tries to be as compatible as possible.

Currently our site falls back to long-polling automatically when the web socket connection could not be established and this solved the problem.

···

On Tuesday, July 8, 2014 8:12:17 PM UTC+8, Tobias Oberstein wrote:

Am 08.07.2014 14:05, schrieb Jerry Wang:

We always use WSS and it does not help.

It does, unless you are deploying TLS interceptors (lacking WebSocket
support).

Product like this one

<https://www.barracuda.com/products/webfilter> totally blocks web socket

and only allows classic HTTP(s) transimission, the websocket handshake

can’t be completed at all.

People should simply stop deploying TLS interceptors. It breaks user’s
privacy. I won’t waste time contemplating on how to make those boxes “work”.

Note that boxes like above often have issues with HTTP long-polling
also. Essentially, they break the Web. So even when AutobahnJS supports
WAMP long-poll, it probably won’t work with that box.

/Tobias

0 Likes

#10

I have contacted Barracuda: the appliance does _not_ support WebSocket:

https://github.com/crossbario/crossbar/wiki/SSL-TLS-Interception-Proxies#barracuda-web-filter

I am still waiting on answers rgd the other points in above page.

/Tobias

···

Am 08.07.2014 14:39, schrieb Jerry Wang:

Not quite sure about that as HTTPS works but WSS does not.

0 Likes