Webtransport ponyfill

80 views
Skip to first unread message

Marten Richter

unread,
Jul 17, 2022, 1:33:18 PM7/17/22
to web-transport-dev
Hello,
as additions to the node.js wrapper, I made a web transport ponyfill.

It is useful for browsers,  that do not support web transport and in networks, that block UDP traffic.
It uses WebSocket for internal transport. One WebSocket stream for the session and one for every stream. It uses the http/1 to prevent head-of-line blocking.
The streams are cryptographically connected to the session (token similar to jwt and a nonce).
The mapping of the web transport interface to the WebSocket protocol is something that might need further discussions. For example, the error codes are not well mapped.
It uses the fact that WebSocket distinguishes between binary and string messages.
String messages are control messages and binary messages carry the data.
I am not sure if it is planned to add something similar to the standard.

Here it is: 

It can be used with the browser and node.js. For node.js also a server compatible with my other webtransport project is included.

So far only some initial testing with my application is done. Bug reports welcome.

Marten


Thomas Steiner

unread,
Jul 18, 2022, 3:18:22 AM7/18/22
to Marten Richter, web-transport-dev
Thank you, Marten. Opened https://github.com/GoogleChrome/web.dev/pull/8351 for this information to be added to the WebTransport article.

Cheers,
Tom

--
You received this message because you are subscribed to the Google Groups "web-transport-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to web-transport-...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/web-transport-dev/735124a2-ffee-437d-b338-dfda8df9d03cn%40chromium.org.


--
Thomas Steiner, PhD—Developer Relations Engineer (https://blog.tomayac.comhttps://twitter.com/tomayac)

Google Germany GmbH, ABC-Str. 19, 20354 Hamburg, Germany
Geschäftsführer: Paul Manicle, Liana Sebastian
Registergericht und -nummer: Hamburg, HRB 86891

----- BEGIN PGP SIGNATURE -----
Version: GnuPG v2.3.4 (GNU/Linux)

iFy0uwAntT0bE3xtRa5AfeCheCkthAtTh3reSabiGbl0ck0fjumBl3DCharaCTersAttH3b0ttom.hTtPs://xKcd.cOm/1181/
----- END PGP SIGNATURE -----

Marten Richter

unread,
Jan 1, 2024, 5:12:09 AMJan 1
to web-transport-dev, tste...@google.com, web-transport-dev, Marten Richter
Hello,
the ponyfill is now deprecated.
The node.js @fails-components/webtransport now also acts as a ponyfill/polyfill, using a different websocket based protocol closely resembling the webtransport over http/2 protocol's capsule protocol.
Best,
Marten

Reply all
Reply to author
Forward
0 new messages