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