daltoniam / Starscream

Websockets in swift for iOS and OSX
Apache License 2.0
8.22k stars 1.19k forks source link

Add support for WebTransport #985

Open bfelbo opened 8 months ago

bfelbo commented 8 months ago

What do you want to happen?

We're currently using WebSockets for multiplayer gaming. We would love to use WebTransport instead as it offers a reliable channel that has better latency than WebSockets and doesn't suffer from head-of-line blocking as it uses UDP under the hood.

What happens now?

It's not supported.

Describe alternatives you've considered

We're currently using WebSockets. WebRTC is also an option, but it adds substantial complexity and overhead.

Additional context

At the time of writing WebTransport is supported for 73% users globally and was recently released for Chrome on Android.

acmacalister commented 8 months ago

WebTransport is an interesting protocol as HTTP/3 continues to gain market share over more traditional protocols like WebSockets. All that said, WebSockets are a completely different protocol than HTTP/3/Quic/WebTransport and would probably be better served as a different library altogether. Definitely something we would be interested in doing, but I don't think it fits in the specific WebSockets implementation that exist within Starscream.

bfelbo commented 8 months ago

Makes sense, thanks for your detailed response!